Below are the details:
Selenium - 4.11.0 Appium Java-Client - 8.5.1 QAF - 4.0.0-RC2 OpenJDK 17
perfecto.properties
driver.name=perfectoDriver remote.server=https://.perfectomobile.com/nexperience/perfectomobile/wd/hub/fast remote.port=80 perfecto.additional.capabilities={"perfecto:options":{"automationName":"Appium","orientation":"LANDSCAPE","javascriptEnabled":true, "unicodeKeyboard":true,"deviceName":"R52T509SH3P","browserName":"Chrome", "securityToken":""},"driverClass":"io.appium.java_client.android.AndroidDriver"}
we have tried with:
QAFWebDriver driver = new BancaTestBasePage().getTestBase().getDriver();
driver.findElement(By.name("OpeId")).sendKeys(username);
driver.findElement(By.name("Password")).sendKeys(password);
driver.findElement(By.xpath("//input[@type='IMAGE']")).click();
expecting to enter user name and password and click login button
Actual: Error : org.openqa.selenium.JavascriptException: javascript error: arguments[0].scrollIntoView is not a function
Logs:
org.openqa.selenium.JavascriptException: javascript error: arguments[0].scrollIntoView is not a function (Session info: chrome=117.0.5938.61) (Driver info: chromedriver=117.0.5938.149 (e3344ddefa12e60436fa28c81cf207c1afb4d0a9-refs/branch-heads/5938@{#1539}),platform=Windows NT 6.3.9600 x86_64) Build info: version: '4.11.0', revision: '040bc5406b' System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.8' Driver info: com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver Command: [186fc2c3-1e03-4fba-a70f-9aa18f524856, executeScript {args=[{element-6066-11e4-a52e-4f735466cecf=A659E8FAF0A90B4AB694F72551EFAF0E_element_12}], script=arguments[0].scrollIntoView();}] Capabilities {appium:accessToken: eyJhbGciOiJSUzI1NiIsInR5cCI..., appium:app: , appium:appActivity: com.google.android.apps.chr..., appium:appPackage: com.android.chrome, appium:assert_javascript_enabled: true, appium:audioStreamInfo: {"audioStreamingServerUrl":..., appium:automationName: Appium, appium:chromedriverChromeMappingFile: C:\nexperience\modules\Chro..., appium:chromedriverExecutableDir: C:\nexperience\modules\Chro..., appium:databaseEnabled: false, appium:desired: {automationName: Appium, browserName: Chrome, chromedriverChromeMappingFile: C:\nexperience\modules\Chro..., chromedriverExecutableDir: C:\nexperience\modules\Chro..., deviceName: R52T509SH3P, driverClass: io.appium.java_client.andro..., goog:chromeOptions: {args: [], extensions: [], w3c: false}, javascriptEnabled: true, orientation: LANDSCAPE, platformName: Android, platformVersion: 12, unicodeKeyboard: true}, appium:deviceApiLevel: 31, appium:deviceManufacturer: samsung, appium:deviceModel: SM-X800, appium:deviceName: R52T509SH3P, appium:deviceScreenDensity: 340, appium:deviceScreenSize: 2800x1752, appium:deviceSessionId: 186fc2c3-1e03-4fba-a70f-9aa..., appium:deviceUDID: R52T509SH3P, appium:driverClass: io.appium.java_client.andro..., appium:entityType: remote_web_driver, appium:executionId: 186fc2c3-1e03-4fba-a70f-9aa..., appium:host: cloud.perfectomobile.com, appium:internalPureAppiumFlow: true, appium:javascriptEnabled: true, appium:liveStreamEnabled: false, appium:locationContextEnabled: false, appium:mcmExecutionId: [email protected]...., appium:networkConnectionEnabled: true, appium:orientation: LANDSCAPE, appium:password: , appium:pixelRatio: 2.125, appium:platformVersion: 12, appium:reportPdfUrl: https://cloud.app.perfect..., appium:scriptName: RemoteWebDriver, appium:securityToken: , appium:serverConnector: , appium:statBarHeight: 51, appium:stopUrl: https://cloud.perfectomob..., appium:streamInfo: {"url":"wss://ams-01.perfec..., appium:takesScreenshot: true, appium:testGridReportUrl: https://cloud.app.perfect..., appium:testRunWithPureAppiumFlow: true, appium:unicodeKeyboard: true, appium:viewportRect: {height: 1599, left: 0, top: 51, width: 2800}, appium:warnings: {}, appium:webStorageEnabled: false, browserName: Chrome, goog:chromeOptions: {args: [], extensions: [], w3c: false}, platformName: ANDROID} Session ID: 186fc2c3-1e03-4fba-a70f-9aa18f524856 at .Given the user login with credential(scenarios/E2E/e2e.feature:10) at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:200) at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:133) at org.openqa.selenium.remote.codec.w3c.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:52) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:191) at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:262) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:518) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.executeSuper(QAFExtendedWebDriver.java:237) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.executeWithoutLog(QAFExtendedWebDriver.java:254) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.executeWitoutLog(QAFExtendedWebDriver.java:299) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.execute(QAFExtendedWebDriver.java:277) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver.execute(QAFExtendedWebDriver.java:231) at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:463) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebElement.executeScript(QAFExtendedWebElement.java:1251) at com.qmetry.qaf.automation.ui.webdriver.ElementMetaDataListener.scrollToElement(ElementMetaDataListener.java:187) at com.qmetry.qaf.automation.ui.webdriver.ElementMetaDataListener.onFailure(ElementMetaDataListener.java:181) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebElement.onFailure(QAFExtendedWebElement.java:540) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebElement.execute(QAFExtendedWebElement.java:276) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebElement.execute(QAFExtendedWebElement.java:247) at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:111) at com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebElement.sendKeys(QAFExtendedWebElement.java:242) at jp.co.cloud.ui.pages.LoginPage.Login(LoginPage.java:47) at jp.co.cloud.steps.IllustrationSingleSteps.inputsIDAndPasswordThenLogin(IllustrationSingleSteps.java:40) at jp.co.cloud.steps.CommonSteps.loginWithCredential(CommonSteps.java:44) at com.qmetry.qaf.automation.step.JavaStep.doExecute(JavaStep.java:150) at com.qmetry.qaf.automation.step.BaseTestStep.execute(BaseTestStep.java:149) at com.qmetry.qaf.automation.step.StringTestStep.execute(StringTestStep.java:128) at com.qmetry.qaf.automation.step.client.Scenario.execute(Scenario.java:174) at com.qmetry.qaf.automation.step.client.DataDrivenScenario.scenario(DataDrivenScenario.java:66) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)
It looks like you have configured global element meta-data to specify auto scroll behavior using
scrollmeta-key or using custom listener.If you have any custom element listener(s) look into it.
If not, either check if you have configured
element.default.metadataproperty to update it accordingly or setelement.default.listenertofalse. To disable scroll you can removescrollmeta-data or set it tofalse. Make sure your changes takes effect, refer different ways of setting properties.