问题描述
我尝试在Android模拟器上使用webdriverio和saucelabs进行测试,但我遇到了这个问题:
[0-0] 2020-09-17T08:16:55.294Z ERROR webdriver: Request Failed with status 400 due to Error: No browserName or device specified in session request. Please check our platforms documentation (https://saucelabs.com/docs/platforms): {'sauce:options': {},'deviceName': 'Samsung galaxy S9 FHD GoogleAPI Emulator','browserName': '','platformName': 'Android','app': 'sauce-storage:app-meetic.apk'} [0-0] 2020-09-17T08:16:55.294Z ERROR webdriver: Error: No browserName or device specified in session request. Please check our platforms documentation (https://saucelabs.com/docs/platforms): {'sauce:options': {},'app': 'sauce-storage:app-meetic.apk'} at getErrorFromresponseBody (/Users/jm.battalier/quality/wdio/Apps/node_modules/webdriver/build/utils.js:121:10) at WebDriverRequest._request (/Users/jm.battalier/quality/wdio/Apps/node_modules/webdriver/build/request.js:149:56) at processticksAndRejections (internal/process/task_queues.js:97:5) at startWebDriverSession (/Users/jm.battalier/quality/wdio/Apps/node_modules/webdriver/build/utils.js:41:16) at Function.newSession (/Users/jm.battalier/quality/wdio/Apps/node_modules/webdriver/build/index.js:44:23) at remote (/Users/jm.battalier/quality/wdio/Apps/node_modules/webdriverio/build/index.js:74:20) at Runner._startSession (/Users/jm.battalier/quality/wdio/Apps/node_modules/@wdio/runner/build/index.js:206:50) at Runner._initSession (/Users/jm.battalier/quality/wdio/Apps/node_modules/@wdio/runner/build/index.js:175:21) at Runner.run (/Users/jm.battalier/quality/wdio/Apps/node_modules/@wdio/runner/build/index.js:93:15) [0-0] 2020-09-17T08:16:55.295Z ERROR @wdio/runner: Error: Failed to create session.``` Find below the capabilities:
@H_404_5@“ browserName”:“”, “ deviceName”:“ Android Emulator”, “ automationName”:“ UiAutomator2”, “ deviceOrientation”:“肖像”, “ platformName”:“ Android”, “ app”:“ sauce-storage:app-XXXXXX.apk”, “ waitforTimeout”:10000, “ commandTimeout”:10000, “名称”:“ XXXX”, “ build”:“ XXXXXX android测试”, “ locale”:“ fr”, “ language”:“ fr”, “ sauce:options”:{ }
@H_404_5@
解决方法
您在功能中指定了一个sauce:options参数,Sauce使用该参数来确定您想要一个符合w3c的会话,但是它为空,因此无法识别特定的值。
将app参数放置在sauce:options参数内,它应该与w3c语法一起使用,或者删除sauce:options,它将使用旧式语法来工作。