我来自一个单元测试世界,但我目前的项目要求我编写很多webdriver代码。我必须向一些没有api的网站发送一些应用程序。我正在使用webdriver访问他们的网站并完成应用程序。我面临着独特的挑战,因为每次运行需要花费大量时间,当我为第n页应用程序编写代码时,我真的无法快速测试代码。我倾向于运行代码进行测试,这需要花费大量时间来降低我的效率。我错过了什么。在这样的环境中开发的最佳实践是什么?我正在使用python写webdriver。
这就是我目前的代码结构。
class ApplyPage1():
...
.
.
class ApplyPageN():
我无法直接访问N页,因为我提交申请的网站不允许我直接访问该页面。
答案 0 :(得分:1)
尝试将robotframework-selenium2视为测试Web应用程序等的方法。另请查看此gist以获取有关如何使用它的示例。如果你有任何问题,我也可以提供更具体的问题。
机器人框架是广泛的,但在测试基于Web的东西时非常有用。它也是用python编写的。
答案 1 :(得分:-2)
您可以使用Selenium IDE插件(包含code formatters)用于Firefox,它能够记录用户操作并将测试用例直接导出到Python 2 unittest
代码(WebDriver或远程控制,对于Python 3,请参阅this)。请参阅:Mozilla Wiki页面上的Converting IDE scripts to Python。
将测试导出到类中后,您可以编写一个包装器来一次运行所有测试。请参阅:how to to organize python unittests into suites,run multiple classes in single Test Suite和run all Python unit tests in a directory。