【问题标题】:How to automate mobile and web app e2e tests in a single test case using WebDriverIO?如何使用 WebDriverIO 在单个测试用例中自动化移动和 Web 应用程序 e2e 测试?
【发布时间】:2021-09-07 08:10:49
【问题描述】:

我正在尝试使用 Webdriver IO 在单个 (E2E) 测试用例中自动化移动和 Web 应用测试。 我的应用程序类似于 Zoom,用户可以通过浏览器客户端和移动应用程序加入会议。我的自动化目标是在用户通过浏览器客户端加入会议后,移动应用程序应该加入同一个会议。目前,我可以通过添加单独的配置文件来同时启动浏览器和移动应用程序自动化iOS 应用程序。但是,我想将两个测试用例集成到一个测试中。

任何提示或想法都会非常有帮助和赞赏,谢谢。

【问题讨论】:

标签: node.js typescript mobile-application webdriver-io webautomation


【解决方案1】:

您可以使用多远程功能:https://webdriver.io/docs/multiremote/#using-wdio-testrunner

步骤:

capabilities: {

    a: {
        "host": "localhost",
        "port": 9515,
        "path": "/",
        capabilities: {
            browserName: 'chrome'
        }
    },
    b: {
        "host": "localhost",
        "port": 4723,
        "path": "/wd/hub",
        capabilities: {
            "platformName": "android",
            "appium:platformVersion": "11",
            "appium:deviceName": "Android Emulator",
            "appium:app": "C:\\Users\\Downloads\\ApiDemos-debug.apk",
            "appium:automationName": "uiautomator2",
            "appium:avd": "2"
        }
    }
}
,

services: [["chromedriver", {
    port: 9515,
    hostname: "localhost"
}], ["appium", { port: 4723, hostname: "localhost"}]],

将此作为功能添加到您的 wdio 配置文件中。

这将在 appium 和浏览器上运行测试。

您可以通过脚本控制这两个实例:

   await a.url("https://www.google.com")
   await b.startActivity("someactivity")

意味着,您必须通过名称而不是浏览器来调用实例

【讨论】:

  • 感谢您的回复。但是,按照这种方法,是否有可能实现上述自动化用例,其中浏览器客户端开始会议,移动客户端应该使用相同的会议 ID 加入会议。?? it('使用浏览器和移动设备加入会议') MeetingPage.getStartMeetingButton.waitAndClick() // 浏览器开始会议 // 获取并保存会议 ID // 移动设备应该加入同一个会议 } 我们是否应该有这样的测试用例(合并合二为一)?
  • 是否需要由您的团队决定,这种方法可以让您直接进行
  • 是的,要求是以这种方式自动化(浏览器和移动设备一起),我可以尝试使用这种方法吗?
  • b 有移动端,a 有浏览器端
  • 太好了,让我试试并发布结果。谢谢
猜你喜欢
  • 2013-05-20
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 2022-09-23
  • 1970-01-01
  • 2019-11-16
相关资源
最近更新 更多