0

在 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>
4

1 回答 1

1

您需要使用 PerfectoDriver 而不是 PerfectoRemoteDriver,这将确保底层驱动程序正在指定驱动程序。

于 2019-07-08T10:10:58.773 回答