请教一下.我的理解是,你一点前台页面的自动化执行的按钮后,后台就开始去执行 testng.run()方法了。能告诉一下你的这个前后端之间是如何调用的吗?谢谢!
期待大神能回复一下
@wal_bx 想问一下
运用 TestNG 的 Factory + DataProvider,然后用 TestNG 所支持的在内存中构建虚拟的 testng.xml,最后用如下方式执行:
TestNG tng = new TestNG();
tng.setXmlSuites((List) suites);
tng.run();
这个你是怎么用的呢,我看你的平台里有个 “运行” 按钮,是说从前台点了这个运行按钮,然后就调用到 server 端的某个方法来执行
TestNG tng = new TestNG();
tng.setXmlSuites((List) suites);
tng.run();
这块吗? 如果不是,能大概说说,通过前端点运行按钮后,怎么启动的 testng 来运行,并执行用例的吗?谢谢!!
cowen:感谢回复。还想请教一下,你发的图片中的 mytest.java 里面代码就是你说的利用 Io 实现的吗?如果是,能把主要的代码分享一下吗?谢谢!另外你上次回复中提到的生成 class 文件再自动编译,我理解应该是生成 java 文件,然后去自动编译吧?
cowen :请问一下 “用例数据传入模板,使用 java 生成可执行文件” 这步主要是怎么实现的呢,能给点思路吗?谢谢!
@lihuazhang @monkey
使用 click() 方法点击登录按钮程序报错,方法如下:
driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAButton[5]")).click();
使用 tap() 方法可以实现点击登录按钮操作,方法如下:
driver.findElement(By.xpath("//UIAApplication[1]/UIAWindow[1]/UIAButton[5]")).tap(16, 192);
请问为什么 click() 方法无法使用,app 截图如下:
@lihuazhang 没有了就这些信息,我现在发现可能最主要的问题就是这个 “info: <-- POST /tap 500 1.069 ms - 66” 为什么 post 后面是个 500 的错误呢。这个 500 在 appium 的 debug 信息输出平台上显示的红色的。
@lihuazhang 已经重新排版,请审核!
@lihuazhang 标题已经修改,请审核
@wangcityboy 因为我也刚刚遇到了这个问题,也是今天上午才解决的:)
可以尝试使用 mobile: flick 看看是否好用。
结贴:
问题终于搞定,看来想要提高还是要知道 appium 的运行原理,根据原理看源代码。目前判断应该是版本问题。但是滑动效果我不用 mobile:swipe,而改用 mobile: flick,因为我看了 js 中的代码,我的版本中没有提供 mobile:swipe,不知道 1.3.4 是否提供了改种方式,需要我升级后验证!
大概知道问题的原因了,可是看不懂 js 代码啊!