【发布时间】:2016-05-19 15:29:39
【问题描述】:
我正在测试必须以 2 种方式构建的应用程序,包括每日构建、并行构建等。这个特定的应用程序需要一个使用假 API 构建,第二个使用真实后端构建。
目前我已将所有测试标记为:
@sanity
@real
@fake
def test_TC101_first_time_use(self):
并为每个构建运行特定的测试(一些测试必须为两个版本启动,有些只能在其中一个上启动)。
今天开发者更改了虚假 API 版本的包名,以便可以同时安装两个版本。
问题:是否可以让我的代码依赖于当前测试的版本?
例如,如果测试由以下方式启动:py.test -v -m "real" 运行测试:
desired_caps['appPackage'] = 'com.companyname.appname'
self.driver.find_element_by_id("com.companyname.appname:id/button").click()
但是当测试开始时:py.test -v -m "fake" 运行测试:
desired_caps['appPackage'] = 'com.companyname.appname_fake'
self.driver.find_element_by_id("com.companyname.appname_fake:id/button").click()
我已尝试查找如何执行此操作的信息,但没有找到任何特定(且快速/简单)的方法来解决此问题。我希望有人可以帮助我。
编辑: 作为一种解决方法,我使用简单的 bash 脚本在开始测试之前替换 *.py 文件中的所有名称,但我仍然想知道这是否有可能以其他方式进行。
【问题讨论】:
标签: python appium pytest ui-testing