最后,时间到了,我们将编写第一个Appium Test来启动Amazon App。这将包括以下步骤:
- 启动Appium节点服务器
- 创建第一个测试脚本
- 执行第一次测试
启动Appium节点服务器
1)我希望您的Appium 窗口已在您的计算机上打开。如果您已经重新启动您的系统,那么请开始Appium通过导航到Appium在你的系统目录下,并开始Appium通过双击Appium.exe文件。
- Android图标用于配置设置
- 设置图标适用于常规设置
- 播放图标用于启动节点服务器
2)单击Android 图标以打开Appium运行的配置。在那里,您需要选中“ 无重置 ” 复选框。这将确保Appium不会在每次运行时安装或卸载App。
3)单击“ 常规设置”图标,确保填充“ 服务器地址和端口”。
注意:请勿更改IP地址或端口号。您的Appium控制台从 127.0.0.1:4723开始,如下所示。
4)现在是时候启动Appium服务器了,点击Appium窗口右上角的Launch Appium Node Server按钮,等待几秒钟。Appium服务器在您的系统上启动并运行。
运行第一次测试
现在,您已准备好编写第一个测试脚本了。创建一个小型测试程序,使用Appium在您的设备上打开Amazon应用程序。
1)将以下代码复制并粘贴到StartApplication 类并运行它。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
package amazon;
import io.appium.java_client.android.AndroidDriver; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities;
public class StartApplication {
private static AndroidDriver driver; public static void main(String[] args) throws MalformedURLException, InterruptedException {
File classpathRoot = new File(System.getProperty("user.dir")); File appDir = new File(classpathRoot, "/Apps/Amazon/"); File app = new File(appDir, "in.amazon.mShop.android.shopping.apk");
DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); capabilities.setCapability("deviceName", "Micromax A311"); capabilities.setCapability("platformVersion", "4.4.2"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("app", app.getAbsolutePath()); capabilities.setCapability("appPackage", "in.amazon.mShop.android.shopping"); capabilities.setCapability("appActivity", "com.amazon.mShop.home.HomeActivity");
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities); driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS); Thread.sleep(10000); driver.quit();
}
} |
2)暂时不介绍细节,只需运行测试。要开始测试,只需选择Run > Run As > Java Application或右键单击 Eclipse代码,然后单击 Run As > Java Application。
3)几秒钟后,您将看到在您的脚本的帮助下,亚马逊 应用程序将在您的设备上启动。执行完成后,您将在Appium控制台上看到一长串消息。稍后我们将回到这些消息。
代码说明
现在让我们讨论上面测试中每行代码的含义。我希望你喜欢学习Appium的旅程。
导入库语句
// Llibrary for Appium drivers import io.appium.java_client.android.AndroidDriver;
//库创建APK 导入java.io.File 的路径;
//用于验证URL是否格式错误的库import java.net.MalformedURLException;
//用于为Appium服务器创建URL的库java.net.URL;
//用于配置所需功能的库导入org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities;
APK文件的路径
由于亚马逊应用程序apk存储在计算机中并且尚未安装在设备上,我们需要创建一个文件对象来表示磁盘上的实际apk文件。我在Eclipse项目中放置了包含apk文件的文件夹' / Apps / Amazon / ' 。
// Eclipse项目的
路径文件classpathRoot = new File(System.getProperty(“user.dir”));
// <项目文件夹> /应用程序的路径 - > Amazon 文件appDir =新文件(classpathRoot,“/ Apps / Amazon /”);
// <项目文件夹> /应用程序 - > Amazon / Amozon apk文件的路径文件app =新文件(appDir,“in.amazon.mShop.android.shopping.apk”);
期望的能力
为了能够在实际设备上测试应用程序,需要设置所需的功能。期望的功能是发送到Appium服务器的一组键和值,用于告诉服务器我们有兴趣启动哪种自动化会话。还有一些功能用于在自动化期间修改服务器的行为。
//创建Desired Capabilities的对象
DesiredCapabilities capabilities = new DesiredCapabilities();
//要自动化的移动Web浏览器的名称。它应该是一个空字符串,因为我们是自动化应用程序capabilities.setCapability(CapabilityType.BROWSER_NAME,“”);
//操作系统名称:Android,iOS或FirefoxOS capabilities.setCapability(“platformName”,“Android”);
//移动操作系统版本 - 我的设备运行的是Android 4.4.2 capabilities.setCapability(CapabilityType.VERSION,“4.4.2”);
//设备名称: - 我正在使用Micromax A311 capabilities.setCapability(“deviceName”,“Micromax A311”);
// APK文件capabilities.setCapability(“app”,app.getAbsolutePath())的绝对本地路径;
//经过测试的Android应用程序功能的Java包.setCapability(“appPackage”,“in.amazon.mShop.android.shopping”);
//要从包中运行的Android活动的活动名称。capabilities.setCapability(“appActivity”,“com.amazon.mShop.home.HomeActivity”);
//使用新的Url和Capabilities driver = new AndroidDriver(新URL(“http://127.0.0.1:4723/wd/hub”),功能)初始化驱动程序对象的构造函数;