Is this situation can be related about appium permissions for android?
In helpers,
helpers: {
Appium: {
app: “C:/Users/CC/Desktop/app.apk”,
platform: ‘Android’,
desiredCapabilities: {
appPackage: ‘blabla’,
appActivity: ‘blabla.MainActivity’,
deviceName: “Nexus_5_API_27”,
avd: “Nexus_5_API_27”,
avdLaunchTimeout: 60000,
platformVersion: “8.0”,
udid: “emulator-5554”,
noReset: false,
autoGrantPermissions: true,
newCommandTimeout: 500,
automationName: “uiautomator2”,
chromeOptions: {
args: [’–disable-popup-blocking’]
}
},
},
custom_helper: {
require: "./helpers/custom_helper.js"
}
},
i used “autoGrantPermissions: true” but never comes popup window after tapping Search button
Feature(‘Login’);
Scenario(‘test something’, async (I) => {
I.wait(3);
I.seeElement("//android.webkit.WebView[contains(@content-desc,'Product List')]");
I.tap("//android.widget.Button[contains(@content-desc,'Search Product')]");
I.seeElement("//android.widget.Button[contains(@content-desc,'Manual Search')]");
I.tap("//android.widget.Button[contains(@content-desc,'Manual Search')]");
I.hideDeviceKeyboard();
I.fillField("//android.widget.EditText", "123456789");
I.tap("//android.widget.Button[contains(@content-desc,'Search')]");
await I.tap("//android.widget.Button[contains(@content-desc,'OK')]");
I.wait(3);
});
can you change order to
I.tap("//android.widget.Button[contains(@content-desc,‘Search’)]");
I.wait(5);
await I.tap("//android.widget.Button[contains(@content-desc,‘OK’)]");
one more thing :
Is there any way that you can check the Search button element is present or not?
My project is a maven project
Appium version is: 1.10.1
io.client: appium?, codeceptjs?
selenium: 3.141.59
codecept.conf.js is
const selenium = require(‘selenium-standalone’);
const appiumController = require(‘appium-controller’);
exports.config = {
services: [‘selenium-standalone’],
tests: ‘./tests/*_test.js’,
output: ‘./output/errorscreenshots’,
helpers: {
Appium: {
app: “C:/Users/CC/Desktop/app.apk”,
platform: ‘Android’,
desiredCapabilities: {
appPackage: ‘blabla’,
appWaitActivity: ‘blabla.MainActivity’,
deviceName: “Nexus_5_API_27”,
avd: “Nexus_5_API_27”,
avdLaunchTimeout: 60000,
platformVersion: “8.0”,
udid: “emulator-5554”,
noReset: false,
autoGrantPermissions: true,
newCommandTimeout: 500,
automationName: “uiautomator2”,
chromeOptions: {
args: [’–disable-popup-blocking’]
}
},
},
custom_helper: {
require: "./helpers/custom_helper.js"
}
},
bootstrap: (done) => {
selenium.start((err, child) => {
if (err) {
throw err;
}
console.log('Selenium started'); // eslint-disable-line
selenium.__child = child; // eslint-disable-line
done();
});
appiumController.startAppium((err, child) => {
if (err) {
throw err;
}
console.log('Appium started');
appiumController.__child = child;
done();
});
},
include: {
I: "./steps_file.js",
testPage: "./pages/TestPage.js"
},
plugins: {
allure: {
enabled: "false",
outputDir: "./output/errorscreenshots"
},
autoDelay: {
enabled: true,
methods: ['click', 'tap', 'pressKey', 'fillField'],
delayBefore: 100,
delayAfter: 300
}
},
mocha: {},
name: "mobile-codeceptjs"
};