我正在尝试使用Appium测试android应用程序。我想读取textview的值,但无法读取。我得到 getText()不是函数错误。 以下是我的功能和代码:
const webdriverio = require('webdriverio');
const assert = require('chai').assert;
const options = {
capabilities: {
platformName: 'Android',
automationName: 'UiAutomator2',
deviceName: 'Android',
app: "some.apk",
appWaitActivity: 'com.example.HomeActivity',
autoGrantPermissions: true,
autoAcceptAlerts: true,
fullReset: true,
},
host: '0.0.0.0',
port: 4723
};
describe('Start Test', function() {
let client;
before(async function() {
client = await webdriverio.remote(options);
});
it('get text in textview', async function() {
element = await client.findElement('id', "com.example:id/screenMsg"); // element is the textView
assert.isNotNull(element);
console.log(element);
/* In the console, I get something like this
{ 'element-6066-11e4-a52e-4f735466cecf': '96ec3f2a-7378-4920-a59f- c43a62bc7a44',
ELEMENT: '96ec3f2a-7378-4920-a59f-c43a62bc7a44' }
It means the textView is identified.
*/
value = await element.getText(); // TypeError: element.getText() is not a function.
console.log(value);
});
});
答案 0 :(得分:0)
只需调用text()
方法即可检索值
const value = await element.text();
答案 1 :(得分:0)
WebdriverIO选项中的属性为hostname
,而不是“ host
”。
参见Options · WebdriverIO。