Python + Selenium Grid + Nodes, выполняющие тот же тест - PullRequest
0 голосов
/ 19 декабря 2018

Я новичок в Python + Селеновая сетка.Но мне удалось создать узел, который также выступает в качестве концентратора (ПК с Windows), а затем у меня есть другой узел (Mac OS), подключенный к концентратору / узлу Windows.

Когда я выполняю свои тесты на Windows, он работает нормально - однако Mac OS ничего не делает.

Нужно ли вручную запускать тест на компьютере Mac OS?

Я делаю это, поэтому я могу тестировать на Safari на Mac и любых других устройствах iOs (планшеты и т. Д.).

Я выполняю свои тесты параллельно через библиотеку unittest, предоставляемую python, и сопряжениеэто с отдельными процессами для запуска пакета с различными возможностями браузера.

run_parallel_tests.py

file_name = sys.argv[1]
json_name = sys.argv[2]

with open(json_name, "r") as f:
    obj = json.loads(f.read())

num_of_tests = len(obj)
process = []
for counter in range(num_of_tests):
    cmd = "python "+str(file_name) + " " + str(json_name) + " " + str(counter)
    process.append(subprocess.Popen(cmd, shell=True))

for counter in range(num_of_tests):
    process[counter].wait()

testrunner.py

home_page_tests = unittest.TestLoader().loadTestsFromTestCase(HomePage)
global_header_tests = unittest.TestLoader().loadTestsFromTestCase(GlobalHeader)


test_suite = unittest.TestSuite(
    [home_page_tests, global_header_tests])


runner = HTMLTestRunner(output='test_results')
runner.run(test_suite)

Мой браузер Caps:

    [
  {
    "browserName": "chrome",
  },
  {
    "browserName": "safari"
  }
]

Команда, которую я выдаю, python run_parallel_tests.py testrunner.py browsers.json

...