【问题标题】:Browser Session Exists when moved from App从应用程序移动时浏览器会话存在
【发布时间】:2021-09-16 12:31:45
【问题描述】:

我工作的移动应用程序将输入 url,它将导航到移动浏览器并且必须提供凭据。发布凭据验证令牌将被发送到启动的应用程序。 在使用 Espresso 和 UIautomator 自动化时。 运行时,浏览器存储现有会话并自动发送令牌。每次运行脚本时都需要退出浏览器会话并登录

【问题讨论】:

  • 能否请您改写问题以使其更清楚一点?谢谢
  • 用例:当我打开应用程序并输入帐户网址时,它将重定向到浏览器以输入凭据。在浏览器中进行登录验证后,应用程序将以登录用户身份打开。当我输入帐户时,在 espresso 自动化中url,它导航到浏览器并使用 uiautomator 能够提供登录详细信息并导航到应用程序。当我再次重新运行时,由于浏览器会话未清除,它不会登陆登录页面,因为会话已经存在。当应用程序重定向时到浏览器,如果有的话,想清除现有的浏览器会话。
  • 下面的答案是否能帮助您找出问题所在?
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: android-espresso android-uiautomator


【解决方案1】:

在执行测试之前,您必须删除与您正在使用的浏览器相关的所有数据。这可以通过使用以下 adb 命令来实现:

adb shell pm clear com.android.chrome

(你可以用你正在使用的浏览器替换包ID) 或使用 ui-automator 并提供相同的命令:

mDevice.executeShellCommand("pm clear com.android.chrome")

其中mDeviceUiDevice 对象的一个​​实例。

这种方法的唯一缺点是,作为一个全新的开始,浏览器很可能会询问您一些问题,例如使用情况统计信息和打开同步...使用 ui-automator 可以很容易地自动执行这些操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 2013-11-23
    • 2015-02-08
    相关资源
    最近更新 更多