目前,我们正在最后确定哪种语言是Java语言,Python应该使用selenium webdriver和合适的单元测试框架进行自动化。在使用Java时,我已经使用了Junit、TestNG和webdriver,并且在设计框架时没有太多的麻烦。我对python还是个新手,虽然我遇到过pyton的单元测试框架,比如unittest、pyunit、nose e.t.c,但我怀疑它们是否会像testNG或Java那样成功。在与selenium webdriver一起使用时,我想逐点分析如下:
1)我读过,由于Python是一种解释语言,因此它的执行速度较慢,所以如果我必须运行1000个测试用例,在Java中运行大约6个小时,那么Python在相同的测试用例中会花费更长的时间吗?在
2)Python单元测试框架在测试分组、并行执行、跳过测试等方面是否可以像testNG这样的Java单元测试框架一样灵活。e、 t.c
3)我认为还有一点是,Python和selenium webdriver的社区没有我们用webdriver开发的Java那样大或有学问的社区,比如说,如果我遇到问题,我更有可能找到Java的答案,而不是Python?在
4)与第3点有点关系,依赖工具、插件甚至webderiver的python绑定作为一个持续良好的维护是否安全?在
5)正如我在使用python的单元测试框架时看到的那样,一个主要的缺点是缺乏样板代码或库,用于很好地说明HTML报告,最好是带有饼图、条形图和时间线的历史报告,就像我们在ANT的帮助下使用Java一样的Allure、TestNG的默认报告、reportNG或Junit报告一样下面
诱惑报告:
历史Junit报告:
另外,我想强调的是,是否有一种方法可以用java编写框架,并根据webdriver中的应用程序生成库或实用程序,这些程序可以很容易地调用或集成到python代码或模块中?或者我们可以用python的代码来解决这个问题呢?