"Quit Application" 还将清除应用数据

"Quit Application" will also clear app data

我正在使用 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)

如果您不想清除应用数据,请设置 noReset=true。有关 appium 中重置策略的更多信息,请查看下图: