我做了一些研究,共识似乎表明,如果没有大量的知识和工作,这是不可能的。然而:
- 是否可以同时在不同的选项卡中运行相同的测试?
如果是这样,我该怎么做?我正在使用 python 并尝试一次运行 3-5 个相同的测试。
这不是通用测试,因此我不关心它是否会中断干净的测试环境。
最佳答案
我认为你可以做到。但我觉得更好或更简单的方法是使用不同的窗口。话虽如此,我们可以使用 multithreading
或 multiprocessing
或 subprocess
模块来并行(接近并行)触发任务。
多线程示例
让我向您展示一个关于如何使用 threading
模块生成多个测试的简单示例。
from selenium import webdriver
import threading
import time
def test_logic():
driver = webdriver.Firefox()
url = 'https://www.google.co.in'
driver.get(url)
# Implement your test logic
time.sleep(2)
driver.quit()
N = 5 # Number of browsers to spawn
thread_list = list()
# Start test
for i in range(N):
t = threading.Thread(name='Test {}'.format(i), target=test_logic)
t.start()
time.sleep(1)
print(t.name + ' started!')
thread_list.append(t)
# Wait for all threads to complete
for thread in thread_list:
thread.join()
print('Test completed!')
在这里,我生成了 5 个浏览器来同时运行测试用例。为了演示,我没有实现测试逻辑,而是设置了 2 秒的休眠时间。该代码将启动 5 个 firefox 浏览器(使用 python 2.7 测试),打开 google 并等待 2 秒然后退出。
日志:
Test 0 started!
Test 1 started!
Test 2 started!
Test 3 started!
Test 4 started!
Test completed!
Process finished with exit code 0
关于python - 是否可以一次运行一个 Selenium 测试的多个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49617485/