Appium移動端自動化測試--錄制測試用例並運行


文章目錄如下

錄制用例並執行

  • 使用Appium desktop錄制用例
  • 安裝Python依賴pip install Appium-Python-Client
  • 增加隱式等待增強穩定性
  • 重新運行

1、使用Appium desktop錄制用例

autoGrantPermissions=true #不再跳出定位信息
在這里插入圖片描述
選擇右下方的Send Keys, 跳出輸入框,輸入搜索內容並點擊Send Keys按鈕。
在這里插入圖片描述
之后可以看到錄制的腳本內容以及可以選擇語言類型,如下圖所示:
1、代碼片段
2、選擇腳本語言
3、顯示全部的腳本語言——Python

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "pzhang7"
caps["automationName"] = "uiautomator2"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["autoGrantPermissions"] = "true"

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)

el1 = driver.find_element_by_id("com.xueqiu.android:id/home_search")
el1.click()
el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
el2.send_keys("alibaba")
driver.quit()
4、復制腳本
5、刪除腳本

在這里插入圖片描述
(3)、顯示全部的腳本語言——Java

import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.net.MalformedURLException;
import java.net.URL;
import org.openqa.selenium.remote.DesiredCapabilities;

public class SampleTest {

  private AndroidDriver driver;

  @Before
  public void setUp() throws MalformedURLException {
    DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
    desiredCapabilities.setCapability("platformName", "android");
    desiredCapabilities.setCapability("deviceName", "pzhang7");
    desiredCapabilities.setCapability("automationName", "uiautomator2");
    desiredCapabilities.setCapability("appPackage", "com.xueqiu.android");
    desiredCapabilities.setCapability("appActivity", ".view.WelcomeActivityAlias");
    desiredCapabilities.setCapability("autoGrantPermissions", "true");

    URL remoteUrl = new URL("http://127.0.0.1:4723/wd/hub");

    driver = new AndroidDriver(remoteUrl, desiredCapabilities);
  }

  @Test
  public void sampleTest() {
    MobileElement el1 = (MobileElement) driver.findElementById("com.xueqiu.android:id/home_search");
    el1.click();
    MobileElement el2 = (MobileElement) driver.findElementById("com.xueqiu.android:id/search_input_text");
    el2.sendKeys("alibaba");
  }

  @After
  public void tearDown() {
    driver.quit();
  }
}

2、安裝Pythony依賴Appium-Python-Client

將上述的Python腳本保存到本地任意路徑下,在Python腳本最上面3行可看到描述說要安裝Appium-Python-Client之后才能正常運行腳本

pip install Appium-Python-Client

在這里插入圖片描述
退出Appium的錄制界面;
然后切換到cmd界面,並執行Python腳本,如下圖,出現異常信息,其實就是沒有找到元素
在這里插入圖片描述

3、增加隱式等待增強穩定性

上述代碼增加隱式等待之后重新運行即可
driver.implicitly_wait(10) #添加隱式等待10秒

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python

from appium import webdriver

caps = {}
caps["platformName"] = "android"
caps["deviceName"] = "pzhang7"
caps["automationName"] = "uiautomator2"
caps["appPackage"] = "com.xueqiu.android"
caps["appActivity"] = ".view.WelcomeActivityAlias"
caps["autoGrantPermissions"] = "true"

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)

driver.implicitly_wait(10) #添加隱式等待10秒

el1 = driver.find_element_by_id("com.xueqiu.android:id/home_search")
el1.click()
el2 = driver.find_element_by_id("com.xueqiu.android:id/search_input_text")
el2.send_keys("alibaba")

driver.quit()

4、重新運行

重新運行上面的測試用例,在等待10秒之后就可以正常運行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM