android – 如何使用Espresso访问外部网站上的元素

前端之家收集整理的这篇文章主要介绍了android – 如何使用Espresso访问外部网站上的元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用espresso,我们点击一​​个登录按钮,启动外部网站(Chrome自定义标签),您可以登录,然后重定向回我们的Android应用程序.

Espresso有没有办法:
1)验证正在启动的URL是否正确
2)访问网站上的元素,以便我可以输入登录信息并继续登录

enter image description here

当我尝试在Espresso Launch Navigator中查看它时,没有任何内容显示页面上,如果我尝试录制,它就不会在我的页面上输入任何内容.

这是我到目前为止(它在Kotlin(而不是Java)):

enter image description here

这是显示错误

enter image description here

它启动我的应用程序,选择登录按钮,打开网站,但它无法访问元素.

我也尝试过:

enter image description here

更新:这是使用Chrome自定义标签(不是网络视图),因此Espresso Web无法使用.

最佳答案
更新:

您无法使用Espresso来测试Chrome自定义标签. Espresso在测试您自己的应用时起作用.

要测试Chrome标签,您可以使用UI Automator,但您可能不希望这样做.

1) Verify the correct URL is being launched

单位测试就足够了.您只需确保传递给Chrome自定义标签库的网址是正确的.您确保您的代码正常工作.接下来发生的事情由库处理,测试属于那里.

2) Access the elements on the website so that I can enter the login
information and continue to login

在这里,您正在测试一个简单的网页.为什么你想要启动模拟器的额外开销?也许Selenium或任何酷的网络都可以在这里工作(不是网络开发)?

你可以使用Espresso Web

这是一个示例测试:

@Test
public void typeTextInInput_clickButton_SubmitsForm() {
    // Lazily launch the Activity with a custom start Intent per test.
    mActivityRule.launchActivity(withWebFormIntent());

    // Selects the WebView in your layout. If you have multiple WebView objects,// you can also use a matcher to select a given WebView,// onWebView(withId(R.id.web_view)).
    onWebView()
        // Find the input element by ID.
        .withElement(findElement(Locator.ID,"text_input"))
        // Clear prevIoUs input.
        .perform(clearElement())
        // Enter text into the input element.
        .perform(DriverAtoms.webKeys(MACCHIATO))
        // Find the submit button.
        .withElement(findElement(Locator.ID,"submitBtn"))
        // Simulate a click using JavaScript.
        .perform(webClick())
        // Find the response element by ID.
        .withElement(findElement(Locator.ID,"response"))
        // Verify that the response page contains the entered text.
        .check(webMatches(getText(),containsString(MACCHIATO)));
}

猜你在找的Android相关文章