【问题标题】:Automating testing calling other scripts自动化测试调用其他脚本
【发布时间】: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


【解决方案1】:

您基本上只需要一个具有自动测试发现功能的测试运行器。即使标准的内置 unittest 模块具有这些功能,我还是建议您看看 pytest test runner。

【讨论】:

猜你喜欢
  • 2011-04-17
  • 2021-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-28
  • 2018-11-06
  • 1970-01-01
  • 2017-12-31
相关资源
最近更新 更多