【发布时间】:2017-12-18 15:26:55
【问题描述】:
我有一个 selenium 脚本列表,我想测试它们是否正常工作,即文件夹 C:\Selenium 脚本中的 1.py、2.py、3.py、4.py、5.py。
显然,我宁愿不必坐在那里观看,因为我相当确定它们有效,但我想确定。我该如何自动化我的测试?
我知道框架,但我认为更简单的方法是在 Python 中调用每个脚本到另一个脚本。尽管如果有任何因错误而停止,这将不起作用。我想你可以创建一个 try 和 except 块(不确定这是否是好的做法,但它可能会起作用)。
理想情况下,我会一次运行它们,但 Selenium 不支持多线程,以免产生问题。
如何有效地运行自动化测试?
您可以使用 cxfreeze 并调用每个脚本,但不知道它们何时完成,或者如果它们完成并产生错误,那么其他作业将不会运行。
调用另一个脚本例如:
1_module.py
def main():
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.chrome.options import Options
import os
import sys
import os
driver = webdriver.Chrome(chromedriver_path)
driver.get("https://stackoverflow.com")
import 2.2_module
2.2_module.do_something_in_2()
if __name__ == '__main__':
main()
2_module.py
import selenium
print('testing...actions..')
【问题讨论】:
-
你为此使用过单元测试吗?你能给我们看一个你的文件的例子,看看你在做什么吗?
-
@Goralight 我对 python 还是很陌生。我已经展示了一个不起作用的例子。也许这种方法可以修复它或使用多线程框架。
-
单元测试模块+子流程模块
标签: python python-3.x selenium selenium-webdriver automated-tests