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"
};