Function executes actually test :param test_module_list_passed: test modules :param server_passed: serve details :param driver_passed: webdriver object :param parallel_ui_test: parallel ui tests :return:
(test_module_list_passed, server_passed, driver_passed,
parallel_ui_test=False)
| 471 | |
| 472 | |
| 473 | def execute_test(test_module_list_passed, server_passed, driver_passed, |
| 474 | parallel_ui_test=False): |
| 475 | """ |
| 476 | Function executes actually test |
| 477 | :param test_module_list_passed: test modules |
| 478 | :param server_passed: serve details |
| 479 | :param driver_passed: webdriver object |
| 480 | :param parallel_ui_test: parallel ui tests |
| 481 | :return: |
| 482 | """ |
| 483 | server_information = None |
| 484 | try: |
| 485 | print("\n=============Running the test cases for '%s' =============" |
| 486 | % server_passed['name'], file=sys.stderr) |
| 487 | # Create test server |
| 488 | server_information = \ |
| 489 | test_utils.create_parent_server_node(server_passed) |
| 490 | |
| 491 | # Create test database with random number to avoid conflict in |
| 492 | # parallel execution on different platforms. This database will be |
| 493 | # used across all feature tests. |
| 494 | test_db_name = "acceptance_test_db" + \ |
| 495 | str(secrets.choice(range(10000, 65535))) |
| 496 | connection = test_utils.get_db_connection( |
| 497 | server_passed['db'], |
| 498 | server_passed['username'], |
| 499 | server_passed['db_password'], |
| 500 | server_passed['host'], |
| 501 | server_passed['port'], |
| 502 | server_passed['sslmode'], |
| 503 | max_connections=100 |
| 504 | ) |
| 505 | |
| 506 | # Add the server version in server information |
| 507 | server_information['server_version'] = connection.info.server_version |
| 508 | server_information['type'] = server_passed['type'] |
| 509 | |
| 510 | # Drop the database if already exists. |
| 511 | test_utils.drop_database(connection, test_db_name) |
| 512 | |
| 513 | # Create database |
| 514 | test_utils.create_database(server_passed, test_db_name) |
| 515 | |
| 516 | # Configure preferences for the test cases |
| 517 | with app.app_context(): |
| 518 | test_utils.configure_preferences( |
| 519 | default_binary_path=server_passed['default_binary_paths']) |
| 520 | |
| 521 | # Create user to run selenoid tests in parallel |
| 522 | if parallel_ui_test: |
| 523 | server_passed['login_details'] = \ |
| 524 | test_utils.create_users_for_parallel_tests(test_client) |
| 525 | |
| 526 | # Get unit test suit |
| 527 | suite = get_suite(test_module_list_passed, |
| 528 | server_passed, |
| 529 | test_client, |
| 530 | server_information, test_db_name, driver_passed, |
nothing calls this directly
no test coverage detected