I need help on how to use object model when I have multiremote capabilities as below:
Fyi, this is webdriverio, and use multiremote appium and chromedriver
capabilities: {
myBrowser: {
"host": "localhost",
"port": 9515,
"path": "/",
capabilities: {
browserName: 'chrome',
//browserVersion: '122.0.6261.39'
}
},
myMobile: {
"host": "localhost",
"port": 4723,
capabilities: {
platformName: 'Android',
'appium:deviceName': 'Pixel 4',
'appium:platformVersion': '11.0',
'appium:automationName': 'UIAutomator2', //make sure it's in UIAutomator2, not UiAutomator2
'appium:app': path.join(process.cwd(), 'app\android\ApiDemos-debug.apk')
}
}
},
Let say, my screen object are as below:
class TestScreen{
get firstText(){
return $('//android.widget.TextView[@content-desc="Accessibility"]');
}
async clickText(){
await this.firstText.click();
}
}
module.exports = new TestScreen();
So I tried it in my spec file, but it failed:
const { firstText } = require("../screen/test-screen.spec");
describe('test run', () =>{
it('test run', async () => {
await myMobile.firstText.click();
})
})
I want the code to be able to use object model with the multiremote capabilities