0

When running quantum code against iPhone SE and Galaxy S8 in Perfecto lab we are getting ERROR: Underlying Driver is an QAFExtendedWebDriver. This step requires an AppiumDriver.

When trying manually to open the app we are abel to do it without any issues. But when running through the script we are facing the issue.

    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>
  • How you specifying driver? Are you providing `driverClass` capability? Please share your configuration like drivername, capabilities etc used. Is the relevant code written by you? if show share that code as well which causes this issue. – user861594 Jul 02 '19 at 16:07
  • @user861594Have added the XML I am using at the end for your reference – dineshbalajibingo Aug 01 '19 at 03:59
  • From the log it looks you are using try using `perfectoRemoteDriver` as driver. Try with `perfectoDriver` as driver name instead of `perfectoRemoteDriver`. make sure to provide [appropriate driver class](https://qmetry.github.io/qaf/latest/how_to_use_driver.html) name using `driverClass` capability. – user861594 Aug 23 '19 at 23:11

1 Answers1

1

You need to use perfectoDriver instead of perfectoRemoteDriver, this will ensure that the underlying driver is appointing driver.

usermamba
  • 13
  • 4