【发布时间】:2019-09-20 22:57:51
【问题描述】:
我正在使用 Robot Framework 和 Appium Library 在 Android 和 iOS 上测试应用。问题是当打开具有noReset=False 功能的应用程序时,每个测试用例之间的所有应用程序数据都会被清除。只能在每个测试套件之间清除数据 (Open Application)。
根据 Appium 库的最佳实践,您应该在每个测试用例之间使用 Quit Application / Launch Application 来重新启动应用程序。
http://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html#Launch%20Application
问题在于,在 Android 上,在启动第二个测试用例时,所有在第一个测试用例中输入的信息都会被清除。 (这仅适用于 Android - 对于 iOS 来说不是问题。)
*** Settings ***
Suite Setup Open Application
Suite Teardown Close Application
Test Setup Launch Application
Test Teardown Quit Application
*** Test Cases ***
First Test
Input Text Hello World
Second Test
Page Should Contain Text Hello World
上面的第二次测试可以在 iOS 上运行,但在 Android 上会失败。这是有意为之还是有什么方法可以避免这种行为?
这是Open Application的代码:
self.open_application('http://10.246.121.241:4723/wd/hub',
alias='MiniVoc',
app='se.volvo.androidvoc',
appActivity='se.volvo.androidvoc.ui.main.MainActivity',
appWaitActivity='se.volvo.androidvoc.ui.certificates.CertificatesActivity',
autoAcceptAlerts=True,
automationName='Appium',
deviceName='P20',
newCommandTimeout=60,
noReset=False,
platformName='Android',
platformVersion='8.0.0',
udid='9WVDU18C2600668',
wdaLocalPort=8101)
【问题讨论】:
-
您的意思是在没有清除应用数据的情况下运行 testcsae 吗?
-
是的,我想在不丢失应用数据的情况下运行测试套件中的所有测试用例。
-
我可以看看你的启动应用代码吗?
-
我已将其添加到原帖中。
-
将此参数设置为True noReset=true
标签: appium robotframework appium-ios appium-android