无法在 Android 模拟器上 运行 量角器脚本

Couldn't run protractor scripts on Android emulator

我想使用 Appium 在 android 模拟器上执行量角器脚本,但问题是当我在终端上点击:“量角器 conf.js” 时模拟器没有启动。测试在windows的chrome浏览器中通过,而不是模拟器中的浏览器。我应该添加其他功能吗?或者我应该改变基础 url ?

// An example configuration file.
exports.config = {
  seleniumAddress: 'http://localhost:4733/wd/hub',
    specs: ['todo-spec.js'],
    directConnect: true,

  // Capabilities to be passed to the webdriver instance.
  capabilities: {

  'browserName': 'chrome',
      'device': 'android',
      'deviceName' : '5554:AndroidDevice',
       device: 'android',
    'appium-version': "1.4.16.1",
    deviceName : '5554:AndroidDevice',
  },

  // Framework to use. Jasmine is recommended.
  framework: 'jasmine',
 baseUrl: 'http://127.0.0.1:5858',
  // Spec patterns are relative to the current working directly when
  // protractor is called.


  // Options to be passed to Jasmine.
  jasmineNodeOpts: {
    defaultTimeoutInterval: 30000
  }
};

//------------------todo-spec.js----------------------------------------
describe('angularjs homepage todo list', function() {
    it('should add a todo', function() {
        browser.get('https://angularjs.org');

        element(by.model('todoList.todoText')).sendKeys('write first protractor test');
        element(by.css('[value="add"]')).click();

        var todoList = element.all(by.repeater('todo in todoList.todos'));
        expect(todoList.count()).toEqual(3);
        expect(todoList.get(2).getText()).toEqual('write first protractor test');

        // You wrote your first test, cross it off the list
        todoList.get(2).element(by.css('input')).click();
        var completedAmount = element.all(by.css('.done-true'));
        expect(completedAmount.count()).toEqual(2);
    });
});

删除 directConnect 以允许它使用 selenium 服务器:

// An example configuration file.
exports.config = {
  seleniumAddress: 'http://localhost:4733/wd/hub',
  specs: ['todo-spec.js'],
  directConnect: true,  <-- remove this line

  ...
} 

应该有助于解决问题的相关主题: