在 Perfecto 实验室中针对 iPhone SE 和 Galaxy S8 运行量子代码时,我们收到错误:底层驱动程序是 QAFExtendedWebDriver。此步骤需要 AppiumDriver。
当尝试手动打开应用程序时,我们可以毫无问题地做到这一点。但是在运行脚本时,我们面临着这个问题。
main: Adding resources from: src/main/resources/android
main: Resource dir: C:\Users\name\clientName\mobileBanking-Perfecto-Automation\src\main\resources\android. Found property files to load: 1
main: Resource dir: C:\Users\name\clientName\mobileBanking-Perfecto-Automation\src\main\resources\android. Found property files to load: 0
main: Initializing Driver...browser_str:perfectoRemoteDriver,base_url:https://website.com/ib/#/login,sel_server:https://somename.perfectomobile.com/nexperience/perfectomobile/wd/hub,port:80
main: Driver: perfectoRemoteDriver
main: â–ˆ â–ˆ â–ˆ Connecting Through Proxy Class â–ˆ â–ˆ â–ˆ
Jul 02, 2019 3:20:53 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
[GalaxyS8 988BDB]: ▀▄▀▄▀ DEVICE PROPERTIES: Capabilities [{reportPdfUrl=https://somename.app.perfectomobile.com/export/api/v1/test-executions/pdf?externalId[0]=firstname.lastname_RemoteWebDriver_19-07-02_09_50_45_7084&_timestamp[0]=1562061045129, report.jobNumber=1907010611, deviceName=988BDB315150595637, platform=ANDROID, password=, acceptSslCerts=true, deviceSessionId=firstname.lastname_RemoteWebDriver_19-07-02_09_50_45_7084, driverClass=io.appium.java_client.android.AndroidDriver, acceptInsecureCerts=true, platformVersion=7.0, automationName=Appium, host=somename.perfectomobile.com, takesScreenshot=true, javascriptEnabled=true, model=Galaxy S8, assert_javascript_enabled=true, platformName=ANDROID, applicationName=SOME, report.jobName=July_Regression_MB_Part3_Sequential, testGridReportUrl=https://somename.app.perfectomobile.com/reporting/library?externalId[0]=firstname.lastname_RemoteWebDriver_19-07-02_09_50_45_7084&_timestamp[0]=1562061045129, entityType=remote_web_driver, serverConnector=, securityToken=, executionId=firstname.lastname_RemoteWebDriver_19-07-02_09_50_45_7084, webdriver.remote.sessionid=4cf11993-4a0d-43eb-a1de-b2ba309e997e, scriptName=RemoteWebDriver, user=, cssSelectorsEnabled=true}] ▀▄▀▄▀
[GalaxyS8 988BDB]: Executing setTimeout parameters: {"implicit":0}
[GalaxyS8 988BDB]: command: setTimeout[ param-1: {implicit=0}] Result: null
[GalaxyS8 988BDB]: driver init done
[GalaxyS8 988BDB]: xy S8 mobile web Tests","Platform_Regression_Suite","@AppInstallationRequired_MB","@Security_MB","@AppInstallationRequired_Security_MB","@Digital_MB_Regression","@RunTimePermissions_Security_MB","@testSec","@Verified"]}],"script":"mobile:test:start"}
[GalaxyS8 988BDB]: █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
[GalaxyS8 988BDB]: â–ˆ TEST STARTED: Verify the Location Popup is displayed and clik on Allow Button [{accounts=RuntimePermissions, __index=1}] â–ˆ
[GalaxyS8 988BDB]: █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
[]
[GalaxyS8 988BDB]: â–„ â–„ â–„ BEGIN STEP: Given User Uninstall the "SOME" App â–„ â–„ â–„
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{"name":"Given User Uninstall the \"SOME\" App"}],"script":"mobile:step:start"}
[]
[GalaxyS8 988BDB]: â–„ â–„ â–„ BEGIN STEP: Given User Uninstall the "SOME" App â–„ â–„ â–„
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{"name":"Given User Uninstall the \"SOME\" App"}],"script":"mobile:step:start"}
Inside App Method
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{"format":"name"}],"script":"mobile:application:find"}
Is app available -------------------->true
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{"name":"SOME"}],"script":"mobile:application:uninstall"}
application found and uninstalled
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{}],"script":"mobile:step:end"}
[GalaxyS8 988BDB]: â–€ â–€ â–€ END STEP: Given User Uninstall the "SOME" App â–€ â–€ â–€
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{}],"script":"mobile:step:end"}
[GalaxyS8 988BDB]: â–€ â–€ â–€ END STEP: Given User Uninstall the "SOME" App â–€ â–€ â–€
[GalaxyS8 988BDB]: â–„ â–„ â–„ BEGIN STEP: When User install SOME App and trust the application â–„ â–„ â–„
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{"name":"When User install SOME App and trust the application"}],"script":"mobile:step:start"}
[GalaxyS8 988BDB]: â–„ â–„ â–„ BEGIN STEP: When User install SOME App and trust the application â–„ â–„ â–„
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{"name":"When User install SOME App and trust the application"}],"script":"mobile:step:start"}
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{"property":"osVersion"}],"script":"mobile:handset:info"}
Os Version ======7.0
[GalaxyS8 988BDB]: ▀▄▀▄▀ ERROR: Underlying driver is an QAFExtendedWebDriver. This step requires an AppiumDriver. ▀▄▀▄▀
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{}],"script":"mobile:step:end"}
[GalaxyS8 988BDB]: â–€ â–€ â–€ END STEP: When User install SOME App and trust the application â–€ â–€ â–€
[GalaxyS8 988BDB]: Executing executeScript parameters: {"args":[{}],"script":"mobile:step:end"}
[GalaxyS8 988BDB]: â–€ â–€ â–€ END STEP: When User install SOME App and trust the application â–€ â–€ â–€
[GalaxyS8 988BDB]: Executing screenshot parameters: {}
In Test failure method
[GalaxyS8 988BDB]: Executing findElements parameters: {"value":"//*[@resource-id='com.clairmail.fth:id/alertTitle']|//*[@resource-id='android:id/alertTitle']","using":"xpath"}
[GalaxyS8 988BDB]: e997e, scriptName=RemoteWebDriver, user=, cssSelectorsEnabled=true}]
Session ID: 4cf11993-4a0d-43eb-a1de-b2ba309e997e
*** Element info: {Using=xpath, value=//*[@resource-id='com.clairmail.fth:id/alertTitle']|//*[@resource-id='android:id/alertTitle']}
[GalaxyS8 988BDB]: xecute(StringTestStep.java:134)\r\n\tat com.qmetry.qaf.automation.step.client.Scenario.execute(Scenario.java:180)\r\n\tat com.qmetry.qaf.automation.step.client.DataDrivenScenario.scenario(DataDrivenScenario.java:69)\r\n"}],"script":"mobile:test:end"}
[GalaxyS8 988BDB]: ▀▄▀▄▀ REPORTIUM URL: https://somename.app.perfectomobile.com/reporting/library?externalId%5B0%5D=firstname.lastname_RemoteWebDriver_19-07-02_09_50_45_7084&_timestamp%5B0%5D=1562061045129 ▀▄▀▄▀
[GalaxyS8 988BDB]: █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
[GalaxyS8 988BDB]: â–ˆ TEST FAILED: Verify the Location Popup is displayed and clik on Allow Button [{accounts=RuntimePermissions, __index=1}] â–ˆ
[GalaxyS8 988BDB]: █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
[GalaxyS8 988BDB]: xy S8 mobile web Tests","Platform_Regression_Suite","@AppInstallationRequired_MB","@Security_MB","@AppInstallationRequired_Security_MB","@Digital_MB_Regression","@RunTimePermissions_Security_MB","@testSec","@Verified"]}],"script":"mobile:test:start"}
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Platform_Regression_Suite" verbose="0"
parallel="none">
<listeners>
<listener class-name="com.XXX.utils.TestNGListener" />
</listeners>
<test name="Android Galaxy S8 mobile web Tests" enabled="false">
<parameter name="driver.capabilities.model"
value="Galaxy S8"></parameter>
<parameter name="driver.capabilities.platformVersion"
value="7.0"></parameter>
<parameter name="env.resources"
value="src/main/resources/android" />
<groups>
<run>
<include name="@Security_MB" />
<exclude name="@Exclude_Mobile" />
</run>
</groups>
<classes>
<class
name="com.qmetry.qaf.automation.step.client.gherkin.GherkinScenarioFactory" />
</classes>
</test>
</suite>