Language Tests (Python 3+)

SeleniumBase supports the following 10 languages: English, Chinese, Dutch, French, Italian, Japanese, Korean, Portuguese, Russian, and Spanish.

Examples can be found in [SeleniumBase/examples/translations].

Multi-language tests are run with pytest like any other test. Test methods have a one-to-one mapping to the other supported languages. Here's an example of a translated test:

from seleniumbase.translate.chinese import 硒测试用例

class 我的测试类(硒测试用例):
    def test_例子1(self):
        self.断言文本("新闻动态", "span#新闻动态")
        self.输入文本("#searchInput", "舞龍")
        self.断言文本("舞龍", "#firstHeading")

Translation API

You can use SeleniumBase to selectively translate the method names of any test from one language to another with the console scripts interface. Additionally, the import line at the top of the Python file will change to import the new BaseCase. Example: BaseCase becomes CasoDeTeste when a test is translated into Portuguese.

seleniumbase translate
* Usage:
seleniumbase translate [] [LANGUAGE] [ACTION]

* Languages:
``--en`` / ``--English``  |  ``--zh`` / ``--Chinese``
``--nl`` / ``--Dutch``    |  ``--fr`` / ``--French``
``--it`` / ``--Italian``  |  ``--ja`` / ``--Japanese``
``--ko`` / ``--Korean``   |  ``--pt`` / ``--Portuguese``
``--ru`` / ``--Russian``  |  ``--es`` / ``--Spanish``

* Actions:
``-p`` / ``--print``  (Print translation output to the screen)
``-o`` / ``--overwrite``  (Overwrite the file being translated)
``-c`` / ``--copy``  (Copy the translation to a new ``.py`` file)

* Options:
``-n``  (include line Numbers when using the Print action)

* Examples:
Translate into Chinese and only print the output:
>>> seleniumbase translate --zh  -p
Translate into Portuguese and overwrite the file:
>>> seleniumbase translate --pt  -o
Translate into Dutch and make a copy of the file:
>>> seleniumbase translate --nl  -c

* Output:
Translates a SeleniumBase Python file into the language
specified. Method calls and ``import`` lines get swapped.
Both a language and an action must be specified.
The ``-p`` action can be paired with one other action.
When running with ``-c`` (or ``--copy``) the new file name
will be the original name appended with an underscore
plus the 2-letter language code of the new language.
(Example: Translating ```` into Japanese with
``-c`` will create a new file called ````.)