【问题标题】:"Quit Application" will also clear app data“退出应用”也会清除应用数据
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-19
    • 2019-09-13
    • 2018-10-09
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多