很赞,做技术的就要往下深挖,能收获很多意想不到的东西。
cnpm
图形有吗?曲线图
楼上各种大神正解,我发表下观点,我在 ctrip 的时候,曾经一个部门努力提高自动化脚本的健壮性,不稳定是正常的,就算 appium 稳定了,自动化还是可能不稳定。
#14 楼 @seveniruby 的确如此~
我已经推荐很多人学习 R 语言了,现在暂时没有太多的精力去学 R,对于那些经常要跟数据打交道的测试人员来说,R 语言可以为你们增色不少,再者,上海这座金融如此发达的城市里,学会 R 语言可以让职业道路更加宽广吧~
#1 楼 @seveniruby 网易质量部的产出和成绩在圈内还是相当可以的。
从日志来看,提示原因是,匿名函数没有 stop 方法,追一下源码:
androidHybrid.cleanupChromedriver = function (chromedriver, cb) {
if (chromedriver) {
logger.debug("Cleaning up Chromedriver");
chromedriver.stop(function (err) {
if (err) logger.warn("Error stopping chromedriver: " + err.message);
this.restoreProxyState();
cb();
}.bind(this));
} else {
cb();
}
};
往上追一下:
Chromedriver.prototype.stop = function (cb) {
logger.debug('Killing chromedriver');
this.exitCb = cb;
this.proc.kill();
};
再往上追
this.onChromedriverStart = cb;
logger.debug("Spawning chromedriver with: " + this.chromedriver);
var alreadyReturned = false;
var args = ["--url-base=wd/hub", "--port=" + this.proxyPort, "--adb-port=" + ADB.getAdbServerPort()];
this.proc = spawn(this.chromedriver, args);
this.proc.stdout.setEncoding('utf8');
this.proc.stderr.setEncoding('utf8');
this.proc.on('error', function (err) {
logger.error('Chromedriver process failed with error: ' + err.message);
alreadyReturned = true;
this.shuttingDown = true;
logger.error('Killing chromedriver');
this.proc.kill();
this.onDie();
}.bind(this));
能贴一下你的代码吗?
#6 楼 @lifreshman 从代码上来讲:_.contains(['label', 'name', 'value', 'values', 'hint'], attributeName) underscore 中的 contains 方法表示 list 中是否包含第二个参数,所以,除了这几个之外的,都会抛 “UIAElements don't have the attribute......”
#7 楼 @yangchengtest 看不懂说明不是你的问题,是我的问题。。。。。。
Latest Release: ChromeDriver 2.13
Fixed bugs:
Chromedriver times out waiting for Tracing.end command to respond
GoBack command times out on all platforms
ChromeDriver port server fails to reserve port
Commands goBack and goForward have race condition.
chromedriver fails with "Chrome version must be >= 31.0.1650.59" on Android 4.4.3 webviews
silence chrome logging by default on windows
ChromeDriver fails to close DevTools UI before executing commands
chromedriver 最新的 2.13 已经解决 fix 这个问题,直接到官网下载一个 2.13 的 chromedriver。
#1 楼 @lihuazhang 没错,webview 是个大话题,我暂且没有讨论 selendroid
#14 楼 @seveniruby 透过现象看本质,往往能让测试少走很多弯路。
#1 楼 @seveniruby 我把你补刀内容放到帖子里