Appium 支持 Webdriver 协议.
RobotFramework 也支持 Webdriver 协议.
所以是可以用 RobotFramework 来运行 appium 测试案例了

我在 ppt 里面的演示, 也是基于 RF 的.

但是因为一些特殊的原因, 比如 RF 会访问一些 appium 不支持的协议. 比如异步脚本协议.
appium 会默认返回一个 503 暂未实现的错误, 这样 RF 的测试用例就无法运行了.

所以解决方法是修改 appium 的代码. 让协议的返回代码从错误改成 200 正常.

代码修改如下

var notYetImplemented = exports.notYetImplemented = function(req, res) {
  logger.info("Responding to client that a method is not implemented");
  res.send(501, {
    status: status.codes.UnknownError.code
    , sessionId: getSessionId(req)
    , value: {
      message: "Not yet implemented. " +
               "Please help us: http://appium.io/get-involved.html"
    }
  });
};

修改为

var notYetImplemented = exports.notYetImplemented = function(req, res) {
  logger.info("Responding to client that a method is not implemented");
  res.send(501, {
    status: status.codes.Success.code
    , sessionId: getSessionId(req)
    , value: {
      message: "Not yet implemented. " +
               "Please help us: http://appium.io/get-involved.html"
    }
  });
};


↙↙↙阅读原文可查看相关链接,并与作者交流