зеркало из https://github.com/microsoft/appium.git
Update docs to work with slate
This commit is contained in:
Родитель
3e05a94efc
Коммит
3a31a37fca
|
@ -1,3 +1,5 @@
|
|||
# Android Coverage
|
||||
|
||||
Android 覆盖率需要使用模拟器或者 root 过的机器。使用 instrument target 构建应用,比如 `$ ant instrument`
|
||||
|
||||
将 `androidCoverage` 传给你设备的 capabilities,并设置为你的 instrument 的 class。
|
||||
|
@ -15,8 +17,6 @@ Appium 会用类似的命令启动应用:`adb shell am instrument -e coverage
|
|||
mobile :endCoverage, intent: 'com.example.pkg.END_EMMA', path: '/mnt/sdcard/coverage.ec'
|
||||
```
|
||||
|
||||
--
|
||||
|
||||
在 `AndroidManifest.xml` 里定义 instrumentation 和 broadcast 接收器。
|
||||
|
||||
```xml
|
||||
|
@ -100,7 +100,7 @@ public class MyInstrumentation extends Instrumentation {
|
|||
}
|
||||
```
|
||||
|
||||
#### 报表
|
||||
### 报表
|
||||
|
||||
`ant instrument` 命令会生成一个 `coverage.em` 文件。你可以使用 `mobile :endCoverage` 命令来可以下载 某次运行的 coverage.ec 文件。 注意:你可以有很多个 coverage.ec 文件。你可以用下面的命令将他们合并起来:
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
Appium 服务关键字
|
||||
==========
|
||||
# Appium 服务关键字
|
||||
|
||||
|关键字|描述|实例|
|
||||
|----|-----------|-------|
|
||||
|
@ -10,9 +9,7 @@ Appium 服务关键字
|
|||
|`newCommandTimeout`|设置在接受到有效命令之前结束进程并退出的时间|比如. `60`|
|
||||
|`launch`|在Appium已经安装的情况下可自动启动app。默认是`true`|`true`, `false`|
|
||||
|
||||
--
|
||||
|
||||
#### Android特有
|
||||
### Android特有
|
||||
|
||||
|关键字|描述|实例|
|
||||
|----|-----------|-------|
|
||||
|
@ -22,9 +19,7 @@ Appium 服务关键字
|
|||
|`device-ready-timeout`| 设置一个模拟器或真机准备就绪的时间|比如`5`|
|
||||
|``compressXml``| 参考[setCompressedLayoutHeirarchy(true)](http://developer.android.com/tools/help/uiautomator/UiDevice.html#setCompressedLayoutHeirarchy(boolean\))| `true`|
|
||||
|
||||
--
|
||||
|
||||
#### iOS特有
|
||||
### iOS特有
|
||||
|
||||
|关键字|描述|实例|
|
||||
|----|-----------|-------|
|
||||
|
@ -32,5 +27,4 @@ Appium 服务关键字
|
|||
|`deviceName`| iOS Simulator 的设备名|比如. `iPhone Retina (3.5-inch)`|
|
||||
|`language`| 为iOS的模拟器设置系统语言|比如. `fr`法语|
|
||||
|`launchTimeout`| 在Appium运行失败之前设置一个等待instruments的时间|比如. `20000`毫秒|
|
||||
|`locale`| 为iOS模拟器进行区域设置|比如. `fr_CA`法语|
|
||||
|
||||
|`locale`| 为iOS模拟器进行区域设置|比如. `fr_CA`法语|
|
|
@ -1,5 +1,4 @@
|
|||
名单
|
||||
=======
|
||||
# 名单
|
||||
|
||||
### 以下这些项目,鼓舞了我们,成就了 Appium。
|
||||
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
元素定位与交互
|
||||
=====================================
|
||||
|
||||
# 元素定位与交互
|
||||
|
||||
Appium支持一个Webdriver元素定位方法的子集
|
||||
|
||||
|
@ -17,8 +15,7 @@ https://github.com/appium/appium/blob/master/lib/uiauto/lib/mechanic.js#L29
|
|||
对于Android下的元素对应, 可以参考
|
||||
https://github.com/appium/appium/blob/master/lib/devices/android/bootstrap/src/io/appium/android/bootstrap/AndroidElementClassMap.java
|
||||
|
||||
例子
|
||||
--------
|
||||
## 例子
|
||||
|
||||
### 找到屏幕上所有的UIAButtons
|
||||
|
||||
|
@ -117,7 +114,7 @@ Python:
|
|||
driver.find_elements_by_tag_name('tableCell')[5].click()
|
||||
```
|
||||
|
||||
# FindAndAct<a name="findandact"></a>
|
||||
## FindAndAct
|
||||
|
||||
你也可以通过一行命令来完成元素的查找和交互(只适用于IOS)
|
||||
举个例子, 你可以通过一次调用来实现查找一个元素并点击它, 使用的命令是`mobile: findAndAct`
|
||||
|
@ -141,8 +138,7 @@ driver.execute_script(js_snippet, args)
|
|||
|
||||
备注: driver.execute_script() 可以在 [Automating Mobile Gestures: Alternative access method](https://github.com/appium/appium/wiki/Automating-mobile-gestures)) 找到说明
|
||||
|
||||
使用Appium Inspector来定位元素
|
||||
--------
|
||||
## 使用Appium Inspector来定位元素
|
||||
|
||||
(翻译备注: 这个工具目前只有Mac版本, 如果你使用的是windows, 可以使用android自带的traceview工具来获得元素的位置)
|
||||
|
||||
|
@ -163,4 +159,4 @@ UI导航器, 预览, 录制与刷新按钮, 和交互工具
|
|||
|
||||
要找到这个按钮的id, 在定位预览窗口中我点击了"show alert"按钮, Appium Inspector在UI导航窗口中高亮显示了这个元素, 然后展示了刚被点击按钮的id和元素类型
|
||||
|
||||
![Step 1](https://raw.github.com/appium/appium/master/assets/InspectorImages/Step2.png)
|
||||
![Step 1](https://raw.github.com/appium/appium/master/assets/InspectorImages/Step2.png)
|
|
@ -1,5 +1,5 @@
|
|||
使移动手势自动化
|
||||
==========================
|
||||
# 使移动手势自动化
|
||||
|
||||
当selenium webDriver 提供某些交互功能的支持时,它的参数并不总是能很容易的映射到底层自动化设备(比如ios中的UIAutomation)所提供的功能。为此,Appium在WebDriver 之上为移动手势增加了额外的命令和参数。
|
||||
|
||||
* **点击**(在屏幕或者元素上)选项
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
Selenium Grid
|
||||
======================
|
||||
# Selenium Grid
|
||||
|
||||
使用 <b>"--nodeconfig"</b> 服务器参数,你可以在本地 selenium grid 里注册你的 appium 服务器。
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
Appium grunt 命令
|
||||
=============
|
||||
# Appium grunt 命令
|
||||
|
||||
[Grunt](http://gruntjs.com) 是 Node.js 的 Make! 我们用它来自动化所有的 appium 开发任务。 下面就是你能做的:
|
||||
|
||||
|
@ -27,8 +26,7 @@ Appium grunt 命令
|
|||
|grunt generateAppiumIo|将 README.md 转成 appium.io 的 getting-started.html|
|
||||
|grunt setConfigVer:<device>|将 package.json 里面 appium 的版本号和对应设备写入 `.appiumconfig.json` 文件|
|
||||
|
||||
其他
|
||||
--------
|
||||
## 其他
|
||||
|
||||
`grunt buildApp` 默认使用 iPhone 6.1 模拟器的 SDK 来构建应用。你可以传其他的 SDK 给 grunt 命令。
|
||||
(用 `xcodebuild -showsdks` 找出你所有的 sdk):
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
自动化混合应用
|
||||
======================
|
||||
# 自动化混合应用
|
||||
|
||||
Appium 其中一个理念就是你不能为了测试应用而修改应用。为了符合这个方法学,我们可以使用 Selenium 测试传统 web 应用的方法来测试混合 web 应用 (比如,iOS 应用里的元素 "UIWebView" ),这是有可能的。这里会有一些技术性的复杂,Appium 需要知道你是想测试原生部分呢还是web部分。幸运的是,我们还能遵守 WebDriver 的协议。
|
||||
|
||||
* [混合 iOS 应用](#ios)
|
||||
* [混合 Android 应用](#android)
|
||||
|
||||
<a name="ios"></a>自动化混合 iOS 应用
|
||||
--------------------------
|
||||
## 自动化混合 iOS 应用
|
||||
|
||||
在你的 Appium 测试里,你需要以下几步来和 web 页面交涉:
|
||||
|
||||
|
@ -17,7 +15,9 @@ Appium 其中一个理念就是你不能为了测试应用而修改应用。为
|
|||
1. 使用你想访问的这个 web 视图的 id 作为参数,调用 [POST session/:sessionId/window](http://code.google.com/p/selenium/wiki/JsonWireProtocol#/session/:sessionId/window)
|
||||
1. (这会将你的 Appium session 放入一个模式, 在这个模式下,所有的命令都会被解释成自动化web视图而不是原生的部分。比如,当你运行 getElementByTagName,它会在 web 视图的 DOM 上操作,而不是返回 UIAElements。当然,一个 Webdriver 的方法只能在一个上下文中有意义,所以如果在错误的上下文,你会收到错误信息。)
|
||||
1. 如果你想停止 web 视图的自动化,回到原生部分,你可以简单地使用 `execute_script` 调用 `"mobile: leaveWebView"` 方法来离开 web 层。
|
||||
|
||||
## 在 iOS 真机上运行
|
||||
|
||||
appium 使用一个远程调试器建立连接来实现和 web 视图的交互。当在模拟器上执行下面例子的时候,我们可以直接建立连接,因为模拟器和 appium 服务器在同一台机器上。
|
||||
|
||||
当在真机上运行用例时,appium 无法直接访问 web 视图,所以我们需要通过 USB 线缆来建立连接。我们使用 [ios-webkit-debugger-proxy](https://github.com/google/ios-webkit-debug-proxy)建立连接。
|
||||
|
@ -142,13 +142,12 @@ And(/^I click a webview button $/) do
|
|||
@driver.find_element(:css, ".green_button").click
|
||||
end
|
||||
```
|
||||
#### 用 ruby 调试 web 视图:
|
||||
### 用 ruby 调试 web 视图:
|
||||
我在我的帮助类里创建了一个快速方法来定位web元素,无论它在哪一个窗口视图。
|
||||
(这非常有帮助,特别是你的 webview 的 id 变化或者你用同一份代码来测试 Android 和 iOS。)
|
||||
https://gist.github.com/feelobot/7309729
|
||||
|
||||
<a name="android"></a>自动化混合 Android 应用
|
||||
--------------------------
|
||||
## 自动化混合 Android 应用
|
||||
|
||||
Appium 通过 Chromedriver 内建混合应用支持。Appium 也可以使用 Selendroid 做为 4.4 之前的设备对 webview 支持的背部引擎。(你需要在 desired capability 里指定 `"device": "selendroid"`)。然后:
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
部署ios app 到手机上
|
||||
=====================================
|
||||
# 部署ios app 到手机上
|
||||
|
||||
准备在真机上执行appium测试, 需要如下准备:
|
||||
|
||||
1. 用特殊的设备参数来构建app
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
自动化手机网页应用
|
||||
======================
|
||||
# 自动化手机网页应用
|
||||
|
||||
如果你正对于如何在iOS的Safari或Android上的Chrome做网页应用的自动化,那么Appium能够帮助你。你可以写一个最普通的WebDriver测试代码,就像使用Selenium服务一样使用Appium来满足需求。
|
||||
|
||||
###iOS模拟器上的Safari浏览器
|
||||
##iOS模拟器上的Safari浏览器
|
||||
|
||||
首先,我们需要先确认在你的Safari浏览器的设置中开启了开发者模式,这样Safari的远程调试端口也会被同时打开。
|
||||
|
||||
|
@ -25,7 +24,7 @@
|
|||
|
||||
<b>提示:</b> 目前针对iOS7版本的上,ios-webkit-debug-proxy有一个问题。[a bug](https://github.com/google/ios-webkit-debug-proxy/issues/38)
|
||||
|
||||
#### 前期设置
|
||||
### 前期设置
|
||||
|
||||
当你要在真机上的Safari中执行你的测试脚本之前你需要先注意以下几点:
|
||||
*安装并正常运行<b>ios-webkit-debug-proxy</b>(具体可以参考(s[hybrid docs](https://github.com/appium/appium/blob/master/docs/hybrid.md))
|
||||
|
@ -59,11 +58,11 @@ $ ./reset.sh --ios --real-safari --code-sign '<code signing idendity>' --profile
|
|||
$ node /lib/server/main.js -U <UDID>
|
||||
```
|
||||
|
||||
#### 执行你的测试
|
||||
### 执行你的测试
|
||||
如果要在safari下的运行你的测试, 只需要简单的配置app为safari即可
|
||||
|
||||
|
||||
##### Java 举例
|
||||
### Java 举例
|
||||
|
||||
```java
|
||||
//setup the web driver and launch the webview app.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#### 跨平台的移动测试方法
|
||||
# 跨平台的移动测试方法
|
||||
|
||||
##### 移动测试的重置方法reset
|
||||
### 移动测试的重置方法reset
|
||||
|
||||
reset方法会重置待测应用的状态
|
||||
|
||||
|
@ -16,9 +16,9 @@ mobile :reset
|
|||
@driver.execute_script 'mobile: reset'
|
||||
```
|
||||
|
||||
#### Android下的移动测试方法
|
||||
## Android下的移动测试方法
|
||||
|
||||
##### 移动测试的按键事件keyevent
|
||||
### 移动测试的按键事件keyevent
|
||||
|
||||
[KeyEvent](http://developer.android.com/reference/android/view/KeyEvent.html) 提供了发送按键码(keycode)到Android的能力.
|
||||
|
||||
|
@ -42,7 +42,7 @@ mobile :keyevent, keycode: 82
|
|||
@driver.execute_script 'mobile: keyevent', :keycode => 82
|
||||
```
|
||||
|
||||
#### 移动测试的Find方法
|
||||
### 移动测试的Find方法
|
||||
|
||||
Java
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
Appium在真机上
|
||||
======================
|
||||
# Appium在真机上
|
||||
|
||||
Appium已经初步支持真机测试。
|
||||
|
||||
如果要在真机上执行测试,你将要做如下准备:
|
||||
|
@ -12,16 +12,15 @@ Appium已经初步支持真机测试。
|
|||
|
||||
4. 一台安装了XCode和XCode Command Line Developer Tools的Mac机器
|
||||
|
||||
Provisioning Profile
|
||||
---
|
||||
## Provisioning Profile
|
||||
|
||||
要在真机上测试就需要一个有效的iOS开发者的Distribution Certificate and Provisioning Profile。你可以在这个上面找到配置这些的相关信息[Apple documentation](http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/YourFirstAppStoreSubmission/TestYourApponManyDevicesandiOSVersions/TestYourApponManyDevicesandiOSVersions.html)
|
||||
|
||||
同样的,你还需要对你的应用签名,更多的信息可以查看[sign your app](http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/YourFirstAppStoreSubmission/ProvisionYourDevicesforDevelopment/ProvisionYourDevicesforDevelopment.html#//apple_ref/doc/uid/TP40011375-CH4-SW1).
|
||||
|
||||
你必须使用Xcode的执行按钮来安装你的应用
|
||||
|
||||
使用Appium运行你的测试
|
||||
---
|
||||
## 使用Appium运行你的测试
|
||||
|
||||
一旦你的设备和应用设置好了之后,你就能够用如下的命令在你的机器上执行测试:
|
||||
|
||||
|
@ -31,8 +30,8 @@ node . -U <UDID> --app <bundle_id>
|
|||
|
||||
这将会启动Appium并且开始在真机上测试应用。
|
||||
|
||||
疑问解答思路
|
||||
---
|
||||
## 疑问解答思路
|
||||
|
||||
0. 确认UDID已经正确的在xcode organizar或itunes中设置了。很长的字符串(20多个字符串)
|
||||
0.确认你测试代码中的测试对象设备的设置
|
||||
0. 再次确认你从instruments启动你的自动化测试
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
在 Linux 上运行 Appium
|
||||
=======================
|
||||
# 在 Linux 上运行 Appium
|
||||
|
||||
# 限制
|
||||
### 限制
|
||||
|
||||
如果你在 Linux 上使用 Appium, 那么你没法使用已经构建好的 '.app',那是为 OS X 准备的。 另外由于 Appium 在测试 iOS 应用时 依赖 OS X 特有的库, 所以你也没有办法测试在 Linux 上测试 iOS 应用。
|
||||
|
||||
# 配置
|
||||
## 配置
|
||||
|
||||
首先,安装版本高于或等于 0.8 的 nodejs。可以根据 [instructions for your flavor of linux](https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager) 进行安装。
|
||||
|
||||
|
@ -17,7 +16,7 @@
|
|||
|
||||
现在你可以运行 Appium 了, 在你 checkout 出来的 Appium 目录里, 运行 `.reset.sh --android`, 它会帮助你安装好所有的依赖。
|
||||
|
||||
# 运行 Appium
|
||||
## 运行 Appium
|
||||
|
||||
运行测试前, 你需要启动一个 API Level 大于等于 17 的 Android 模拟器或者连接一个系统是 4.1 以上的 Android 真机。然后在 Appium 目录运行
|
||||
|
||||
|
@ -26,7 +25,7 @@
|
|||
你可以在 [server documentation](server-args.cn) 找到所有的命令行参数。
|
||||
|
||||
|
||||
# 备注
|
||||
## 备注
|
||||
* There exists a hardware accelerated emulator for android, it has it's own
|
||||
limitations. For more information you can check out this
|
||||
Android 有一些硬件加速的模拟器,这些模拟器有自己的限制。你可以在 [page](android-hax-emulator.cn) 找到更多的信息。
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
在 Mac OS X 上使用 Appium
|
||||
=======
|
||||
# 在 Mac OS X 上使用 Appium
|
||||
|
||||
在 OS X 上, Appium 支持 iOS 和 Android 测试
|
||||
<a name="ios"></a>系统配置 (iOS)
|
||||
--------
|
||||
|
||||
## 系统配置 (iOS)
|
||||
|
||||
* Appium 需要 Mac OS X 10.7, 推荐 10.8。 (经过测试, 10.9 也能工作。)
|
||||
* 确保 Xcode 和 iOS SDK 都已经安装好了。 (当前 Appium 支持 Xcode 4.6.3/iOS 6.1 和 Xcode 5/iOS 7.0。 注意不推荐在基于 Xcode 5 下且低于 7.0 的 iOS 版本进行测试。 参照下篇可以获取更多信息)
|
||||
* 你需要授权 iOS 模拟器的使用。如果你是通过 NPM 安装的 Appium,那么你可以运行 `sudo authorize_ios` (`authorize_ios`)是来自 Appium npm 包里的一个二进制执行文件。如果你是从源代码运行 Appium,那么你可以简单的使用 `sudo grunt authorize`。如果你使用`Appium.app`, 那你只要用界面来操作。
|
||||
|
||||
<a name="ios_multiple"></a>使用多种 iOS SDK 进行测试
|
||||
-----------
|
||||
## 使用多种 iOS SDK 进行测试
|
||||
|
||||
Appium 使用苹果提供的 `instruments` 来启动 iOS 模拟器,默认它会使用当前安装的 Xcode 和该 Xcode 下安装好的最高版本的 iOS SDK。这就意味着如果你想测试 iOS 6.1, 但是你安装了 iOS 7.0, 那么 Appium 会强制使用 7.0 的模拟器。 唯一的方法就是安装多个Xcode,然后在安装不同的 SDK。然后在启动 Appium 前,切换到你要测试的特定的版本。
|
||||
|
||||
|
@ -22,9 +20,7 @@ Appium 使用苹果提供的 `instruments` 来启动 iOS 模拟器,默认它
|
|||
|
||||
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
|
||||
|
||||
|
||||
<a name="android"></a>系统配置 (Android)
|
||||
--------
|
||||
## 系统配置 (Android)
|
||||
|
||||
* 确保你已经安装了 [Android SDK installed](http://developer.android.com/sdk/index.html)。
|
||||
* 确保你安装的 Android SDK API 大于等于 17。你可以运行 Android SDK 管理器(`android`) 然后在额外的包里选择你要安装的 API。
|
||||
|
@ -37,4 +33,4 @@ Appium 使用苹果提供的 `instruments` 来启动 iOS 模拟器,默认它
|
|||
我们需要 Maven 来支持 Selendroid, 借助 Selendroid, Appium 可以在低于 4.2 的 Android 版本里运行。
|
||||
* 确保你的 AVD 已经配置好了最新的 Android 版本 (一个可以运行的 UIAutomator)(至少 4.1 )。你可以使用 Android SDK tool 来创建 AVD。 别忘记给 AVD 起个好记的名字,下次你可以用它来启动模拟器并在模拟器上运行测试。
|
||||
* 确保你使用的 AVD 里面的 `config.ini` 有这条指令 `hw.battery=yes`。
|
||||
* Android 有一些硬件加速的模拟器,这些模拟器有自己的限制。你可以在 [page](android-hax-emulator.cn) 找到更多的信息。
|
||||
* Android 有一些硬件加速的模拟器,这些模拟器有自己的限制。你可以在 [page](android-hax-emulator.cn) 找到更多的信息。
|
|
@ -1,13 +1,10 @@
|
|||
在windows上运行appium
|
||||
=======================
|
||||
# 在windows上运行appium
|
||||
|
||||
|
||||
# 限制
|
||||
### 限制
|
||||
|
||||
如果你在windows上安装appium,你没法使用预编译专用于OS X的.app文件,你也将不能测试IOS apps,因为appium依赖OS X专用的库来支持IOS测试。这意味着你只能通过在mac上来运行IOS的app测试。这点限制挺大。
|
||||
|
||||
|
||||
# 开始安装
|
||||
## 开始安装
|
||||
|
||||
1. 安装[nodejs](http://nodejs.org/download/) 0.8版本及以上, 通过官方的安装程序来安装。
|
||||
|
||||
|
@ -15,7 +12,6 @@
|
|||
|
||||
3. 安装java的JDK,并设置`JAVA_HOME` 变量为你的JDK目录。
|
||||
|
||||
|
||||
4. 安装[Apache Ant](http://ant.apache.org/bindownload.cgi)
|
||||
或者直接使用Android Windows SDK自带的ant,地址在eclipse\plugins目录,你需要把这个目录加到你的系统PATH变量中
|
||||
|
||||
|
@ -27,34 +23,34 @@
|
|||
现在,你已经下载安装了所有的依赖,开始运行
|
||||
reset.bat
|
||||
|
||||
# 运行Appium
|
||||
### 运行Appium
|
||||
|
||||
要在windows上运行测试用例,你需要先启动Android模拟器或者连接上一个API Level17以上的android真机。
|
||||
然后在命令行运行appium
|
||||
node .
|
||||
|
||||
|
||||
# 备注
|
||||
### 备注
|
||||
* 你必须带上--no-reset和--full-reset标记,以用于windows上的android
|
||||
* 有一个硬件加速模拟器用于android,但是它有自己的一些限制,如果你想了解更多,请参考[页面](android-hax-emulator.cn)
|
||||
* 确保在你的AVD的`config.ini`中有一个配置项为`hw.battery=yes`
|
||||
|
||||
|
||||
|
||||
# 最简略的安装方式
|
||||
### 最简略的安装方式
|
||||
出于对官方文档的尊重,我按照原文翻译,如下介绍我的安装心得。官方提到的一些工具,其实并不需要安装。
|
||||
下面介绍我已经测试过的安装和使用过程
|
||||
|
||||
# 安装appium
|
||||
### 安装appium
|
||||
|
||||
1. 安装nodejs
|
||||
|
||||
2、使用npm安装appium,npm install -g appium
|
||||
|
||||
# 运行appium
|
||||
### 运行appium
|
||||
启动appium,直接运行appium 即可。
|
||||
|
||||
# 更新appium
|
||||
### 更新appium
|
||||
通过`npm install -g appium` 来更新appium即可
|
||||
|
||||
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
執行測試
|
||||
=============
|
||||
# 執行測試
|
||||
|
||||
## 測試前的準備 (iOS)
|
||||
|
||||
<a name="prep-ios"></a>測試前的準備 (iOS)
|
||||
-----
|
||||
在模擬器上測試apps必須要用模擬器專用的編譯器,例如說使用下列的命令來編譯 Xcode 項目:
|
||||
|
||||
> xcodebuild -sdk iphonesimulator6.0
|
||||
|
@ -11,12 +10,12 @@
|
|||
|
||||
如果需要,你可以把.app 目錄壓縮成一個zip壓縮檔!Appium 會自行解壓縮。讓你能方便在非本地運行Appium。
|
||||
|
||||
<a name="prep-android"></a>測試前的準備 (Android)
|
||||
------
|
||||
## 測試前的準備 (Android)
|
||||
|
||||
用Appium去執行你的.apk檔其實沒什麼特別需要注意的事項。如果需要,你可以把它壓縮成zip壓縮檔。
|
||||
|
||||
<a name="run-ios"></a>用Appium測試你的app (iOS)
|
||||
------
|
||||
## 用Appium測試你的app (iOS)
|
||||
|
||||
目前最好的測試方式請參照測試範例:
|
||||
|
||||
[Node.js](https://github.com/appium/appium/tree/master/sample-code/examples/node) | [Python](https://github.com/appium/appium/tree/master/sample-code/examples/python) | [PHP](https://github.com/appium/appium/tree/master/sample-code/examples/php) | [Ruby](https://github.com/appium/appium/tree/master/sample-code/examples/ruby) | [Java](https://github.com/appium/appium/tree/master/sample-code/examples/java)
|
||||
|
@ -43,8 +42,8 @@
|
|||
|
||||
在你選擇的WebDriver庫裡,設定remote session使用上述的環境參數然後使用端口 4723來連接本地服務器 (或著是使用你在Appium啟動時所設定的任意端口)。現在你已經設置完成了!
|
||||
|
||||
<a name="run-android"></a>用Appium測試你的app (Android)
|
||||
-----
|
||||
## 用Appium測試你的app (Android)
|
||||
|
||||
首先,先確定你有一個而且必須是只能一個Android模擬器或著設備連接著。如果你輸入`adb devices`,你應該只看到一個設備連接著。這將是Appium所用來測試的設備。當然,要連接一個設備,你需要準備好一個Android AVD (參考 [系統設置](https://github.com/appium/appium/blob/master/docs/system-setup.md#android) 以了解更多). 如果Android SDK工具在你的路徑下,你可以簡單的執行:
|
||||
|
||||
emulator -avd <我的Avd名稱>
|
||||
|
@ -81,8 +80,8 @@
|
|||
|
||||
在你選擇的WebDriver庫裡,設定remote session使用上述的環境參數然後使用端口 4723來連接本地服務器 (或著是使用你在Appium啟動時所設定的任意端口)。現在你已經設置完成了!
|
||||
|
||||
<a name="run-selendroid"></a>用Appium測試你的app (Android 設備 < 4.2, 以及混合app測試)
|
||||
-----
|
||||
## 用Appium測試你的app (Android 設備 < 4.2, 以及混合app測試)
|
||||
|
||||
低於4.2版本的Android設備 (API Level 17) 沒有安裝Google 的[用戶界面自動化框架/UiAutomator framework](http://developer.android.com/tools/help/uiautomator/index.html).下面的範例是早期Appium在這些設備上的測試方法。對於早期的設備以及使用混合模式(webview-based)製作的apps, Appium 包含了另一種自動化測試後端[Selendroid](http://selendroid.io/).
|
||||
|
||||
要使用Selendroid, 只需要在之前提到的環境參數上稍作修改即可,把'Android' 換成 'Selendroid':
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
Appium 服务器参数
|
||||
==========
|
||||
# Appium 服务器参数
|
||||
|
||||
使用方法: `node . [标志]`
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
Appium 故障调试
|
||||
# Appium 故障调试
|
||||
|
||||
======================
|
||||
如果你遇到问题,先不要提交 ticket 到 github 或者发信去 appium-disscuss 邮件列表求教,这里教你如何处理。
|
||||
|
||||
## 一般问题
|
||||
|
|
|
@ -6,19 +6,18 @@ Don't use the `===` underline method of creating headers.
|
|||
## Subheaders
|
||||
|
||||
`##` is used to write subheaders. Don't use the `---` underline method of
|
||||
creating
|
||||
sub headers.
|
||||
creating sub headers.
|
||||
|
||||
### Regular headers
|
||||
|
||||
`###` is used for headers that don't appear in the table of contents.
|
||||
Don't use h4 `####`, h5 `#####`, or h6 `######`.
|
||||
|
||||
#### Line breaks
|
||||
### Line breaks
|
||||
|
||||
Don't use line breaks such as `--` or `---`. This will confuse Slate.
|
||||
|
||||
## Linking
|
||||
### Linking
|
||||
|
||||
Link to another document using this syntax: `[link text](filename.md)`
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ application's .app directory
|
|||
# Android and iOS
|
||||
@driver.execute_script 'mobile: pullFile', {path: '/Library/AddressBook/AddressBook.sqlitedb'} #=> /Library/AddressBook/AddressBook.sqlitedb
|
||||
|
||||
#iOS only
|
||||
# iOS only
|
||||
@driver.execute_script 'mobile: pullFile, {path: '/UICatalog.app/logfile.log'} #=> /Applications/12323-452262-24241-23-124124/UICatalog.app/logfile.log
|
||||
```
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@ This will start Appium and have Appium use the device to test the app.
|
|||
0. Double check that you can invoke your automation from instruments.
|
||||
0. Make sure instruments in closed already
|
||||
|
||||
# Appium on real Android devices
|
||||
## Appium on real Android devices
|
||||
|
||||
Hooray! There's nothing extra to know about testing real Android devices: it
|
||||
works exactly the same as testing on emulators. Make sure that your device
|
||||
|
|
Загрузка…
Ссылка в новой задаче