第一个Appium测试启动亚马逊应用程序

最后,时间到了,我们将编写第一个Appium Test来启动Amazon App。这将包括以下步骤:

  • 启动Appium节点服务器
  • 创建第一个测试脚本
  • 执行第一次测试

 

启动Appium节点服务器

1)我希望您的Appium 窗口已在您的计算机上打开。如果您已经重新启动您的系统,那么请开始Appium通过导航到Appium在你的系统目录下,并开始Appium通过双击Appium.exe文件。

Appium_1

  1. Android图标用于配置设置
  2. 设置图标适用于常规设置
  3. 播放图标用于启动节点服务器

 

2)单击Android 图标以打开Appium运行的配置。在那里,您需要选中“ 无重置 ” 复选框。这将确保Appium不会在每次运行时安装或卸载App。

Appium_2

 

3)单击“ 常规设置”图标,确保填充“ 服务器地址端口”

Appium_4

注意:请勿更改IP地址或端口号。您的Appium控制台从 127.0.0.1:4723开始,如下所示。

 

4)现在是时候启动Appium服务器了,点击Appium窗口右上角的Launch Appium Node Server按钮,等待几秒钟。Appium服务器在您的系统上启动并运行。
Appium_3

 

运行第一次测试

现在,您已准备好编写第一个测试脚本了。创建一个小型测试程序,使用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”),功能)初始化驱动程序对象的构造函数;

猜你喜欢

转载自blog.csdn.net/ProgrammerFan0101/article/details/83115206