额,这个是原创还是转载?如果转载最好注明一下原地址吧。
另外,排版有点乱,建议参考 https://testerhome.com/topics/2976
好强大!
你试一下直接在浏览器输入 "http://127.0.0.1:4723/wd/hub"
看有没有这样的提示信息?
That URL did not map to a valid JSONWP resource
#11 楼 @hudiefeifei 你在这一句前后都加个 log :
driver = new IOSDriver<MobileElement>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
看看是否前后的 log 都能打印出来?
Genymotion 本身也有这个选项:
把最下面的 use virtual keyboard for text input 勾上就行了。只是这个选项必须在模拟器开机前选择,不能运行中更改,没那么方便。
只有一个 status 不停出现这个是 appium.app 本身的正常现象,只要选的 platform 是 iOS 都会有。(目前还没探究具体原因,估计应该是 GUI 界面向 server 发心跳包确认 server 是否还存活吧,我用命令行启动 appium 的话不会有这些 log )
这个 log 和实际执行没有半毛钱关系。。。
另外,你能在 setUp 那里打个断点或者打印一个 log 吗?现在这么看貌似 Junit 的这个用例根本没执行。
This class is deprecated.
It is no longer necessary to extend UiAutomatorTestCase. You can use getInstance(Instrumentation) from any test class as long as you have access to an Instrumentation instance.
http://developer.android.com/reference/android/support/test/uiautomator/UiAutomatorTestCase.html
官方的新例子:
import android.test.InstrumentationTestCase;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.By;
public class CalculatorUiTest extends InstrumentationTestCase {
private UiDevice mDevice;
public void setUp() {
// Initialize UiDevice instance
mDevice = UiDevice.getInstance(getInstrumentation());
// Start from the home screen
mDevice.pressHome();
mDevice.wait(Until.hasObject(By.pkg(getHomeScreenPackage()).depth(0)),
}
}
试下装个最新的 homebrew ?
网上有人说 brew 版本太老也不行,不兼容新的 ideviceinstaller 自动安装脚本。
另外,麻烦添加一下头像,谢谢。
额,出错原因是你的 setUp 第二次执行时开不了 session 。
你以为的执行顺序是:
setUp->Test001->Test002
实际执行顺序是:
setUp->Test001->setUp->Test002
解决方法:
setUp
改名为 setUpBeforeClass
, tearDown
改为 tearDownAfterClass
(如果有)driver.quit()
)使用单元测试框架(如 Junit)前最好先了解一下它的一些基本概念吧。例如 Junit 的 setUp 和 tearDown :http://etutorials.org/Programming/Java+extreme+programming/Chapter+4.+JUnit/4.6+Set+Up+and+Tear+Down/
appium/build/settings_apk/settings_apk-debug.apk
appium/build/settings_apk/settings_apk-debug.apk
appium/lib/devices/android/android-common.js
和 appium-adb 的 appium-adb/lib/adb.js
)建议先用方案一,稳定后再做方案二的后两步吧。主要的重点难点都在 apk 和 adb 命令那里。
appium 设定 network 是通过 settings.apk 设定的,它的项目地址是 https://github.com/appium/io.appium.settings
虽然要求有点高,但如果你懂得基本的 android app 开发的话可以把它写到这个 app 里。
相关的文章http://blog.csdn.net/stevenhu_223/article/details/9052083
我去看了下 Java 客户端的 setNetworkConnection
的用法
public void networkConnectionTest() {
NetworkConnectionSetting networkConnection = new NetworkConnectionSetting(false, true, true);
networkConnection.setData(false);
networkConnection.setWifi(false);
driver.setNetworkConnection(networkConnection);
networkConnection = driver.getNetworkConnection();
assertEquals(new NetworkConnectionSetting(false, false, false), networkConnection);
}
用起来和 python 版的一样啊,三个值分别代表数据连接、wifi 和飞行模式。
没见到有控制蓝牙的功能。
不错,晚些试用一下。
另外,有些地方 markdown 语法用错了。
####1.更新 iOS SDK cocoaPods 版本
应为
#### 1.更新 iOS SDK cocoaPods 版本
,
更新的崩溃列表查看崩溃时间改为**最近 30 天**
应为
更新的崩溃列表查看崩溃时间改为 **最近 30 天**
markdown 对空格还是比较敏感的。
例子很赞。学习了。
学习了,去看了一下 sbt-native-packager ,打包功能真心强大!
这是 mac ?brew install node
装上的 node 不是可以不用 sudo 来安装 npm 包的吗?