[Android-Appium]: 安卓自动化测试: Demo Code

自动化测试:Demo code

1.  打开VS,创建工程,然后添加       Appium-dotnet-driver.dll and WebDriver 引用   (此Demo用的是 C# code        计算器) 

2.  添加 如下命名空间引用: 

using OpenQA.Selenium.Appium.Android;

using OpenQA.Selenium.Appium;

using OpenQA.Selenium.Remote;

using OpenQA.Selenium;

 3.   初始化 android driver 代码:

 private static AndroidDriver<AppiumWebElement> Initialize(string package, string activity)

        {

            AndroidDriver<AppiumWebElement> driver = null;

            DesiredCapabilities capabilities = new DesiredCapabilities();

            capabilities.SetCapability("device", "Android");

            capabilities.SetCapability(CapabilityType.Platform, "Windows");

            capabilities.SetCapability("deviceName", "emulator-5554");        // DeviceName 可以通过adb devices 命令得到。

            capabilities.SetCapability("platformName", "Android");

            capabilities.SetCapability("platformVersion", "6.0");

            capabilities.SetCapability("automationName", "Appium");

            capabilities.SetCapability("unicodeKeyboard", "True");

            capabilities.SetCapability("appPackage", package);                  // package  是你要测试的 app的 package 。

            capabilities.SetCapability("appActivity", activity);                    // activity 是你要测试的 app的 activity

 

            Uri uri = new Uri("http://127.0.0.1:4723/wd/hub");               //  Appium Server ->Setting.

            TimeSpan timeSpan = TimeSpan.FromSeconds(120);

            driver = new AndroidDriver<AppiumWebElement>(uri, capabilities, timeSpan);

 

            return driver;

        }

 

 4.   Appium Server ->Setting.

    

5.  以 模拟器中的 计算器       app为例:

 static void Main(string[] args)

        {

            AndroidDriver<AppiumWebElement> driver = Initialize("com.android.calculator2", "com.android.calculator2.Calculator"); 

            AppiumWebElement clear = driver.FindElement(By.ClassName("android.widget.Button"));

            clear.Click(); 

            AppiumWebElement two = driver.FindElement(By.Name("2"));

            two.Click(); 

            AppiumWebElement plus = driver.FindElement(By.Id("pcom.android.calculator2:id/op_add"));

            plus.Click(); 

            AppiumWebElement four = driver.FindElement(By.Name("4"));

            four.Click(); 

            AppiumWebElement equalTo = driver.FindElement(By.Name("="));

            equalTo.Click();

        }

 6.  * package  获取:

打开你要测试的app,然后 打开 uiautomatorviewer.bat (在 Android SDK安装路径下的 tools文件夹下)

uiautomatorviewer 可以得到 app的 元素 Id,className 等

     

 

7.   * activity 获取:

Open the Android Studio , create a project ,click on Android Monitor then copy the log to Notepad++

find the "com.android.calculator2" in the log  , and the activity "activity com.android.calculator2"

     

8.  初始化 android driver 代码之后就可以写 test cases了。 

 

9.  元素的 Name, Id, Classname 等可以通过 uiautomatorviewer.bat来找。

 

posted @ 2017-03-24 17:25  skyaiolos0426  阅读(337)  评论(0编辑  收藏  举报