无法访问Appium,Node.Js中的getText()方法

时间:2019-04-25 06:10:14

标签: appium webdriver-io appium-android android-uiautomator

我正在尝试使用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);
    });


});

2 个答案:

答案 0 :(得分:0)

只需调用text()方法即可检索值

const value = await element.text();

答案 1 :(得分:0)

WebdriverIO选项中的属性为hostname,而不是“ host”。 参见Options · WebdriverIO