appium环境

Appium环境安装

 

Appium⽣态⼯具

❖ adb:android的控制⼯具,⽤于获取android的各种数据和控制

❖ Appium Desktop:内嵌了appium server和inspector⼯具的综合⼯具

❖ Appium Server:appium的核⼼⼯具,命令⾏⼯具

❖ Appium client:各种语⾔的客户端封装库,⽤于连接appium server

❖ python

❖ java

❖ ruby

❖ robotframework-appium

❖ AppCrawler ⾃动遍历工具

 

 

 

server端

  • 安装nodejs

输入npm version 查看nodejs版本 (cygwin中)

  • 命令执行 npm install -g appium

@想用版本

-verbose 可查看下载内容

安装完成

 

  • 启动appium --session-override

 

 

 

 

运行时遇到的问题与解决方法:

启动appium开始运行时提示:

error  

An unknown server-side error occurred while processing the command. Original error: Could not find adb.exe in ...... sdk目录

或 no such file or directory, scandir sdk路径

【解决方法】sdk在配置环境变量时路径错误,ANDROID_HOME只需写到sdk即可。

参考:https://jingyan.baidu.com/article/f0e83a2548461022e5910199.html

 

 

创建:

查看当前应用activities

adb shell dumpsys activity activities |less

 

 

 

 

 

 

 

start session

 

 

 

生成操作的源代码

 

 

Java

 

maven中添加依赖

 <dependencies>
        <dependency>
            <groupId>io.appium</groupId>
            <artifactId>java-client</artifactId>
            <version>6.0.0-BETA3</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>
    </dependencies>
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 java.util.concurrent.TimeUnit;

import org.openqa.selenium.remote.DesiredCapabilities;

public class testerhomeDemo {

    private AndroidDriver driver;

    @Before
    public void setUp() throws MalformedURLException {
        DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
        desiredCapabilities.setCapability("appActivity", ".MainActivity");
        desiredCapabilities.setCapability("appPackage", "com.testerhome.android");
        desiredCapabilities.setCapability("platformName", "Android");
        desiredCapabilities.setCapability("deviceName", "T7G0215522010430");
        desiredCapabilities.setCapability("noReset","false");
        desiredCapabilities.setCapability("fullRest", "true");

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

        driver = new AndroidDriver(remoteUrl, desiredCapabilities);

        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    }

    @Test
    public void sampleTest() {
        MobileElement el1 = (MobileElement) driver.findElementByAccessibilityId("MTSC MTSC 第五届移动互联网测试开发大会志愿者招募  MTSC 第五届移动互联网测试开发大会志愿者招募");
        el1.click();
        MobileElement el2 = (MobileElement) driver.findElementByAccessibilityId("分享");
        el2.click();
    }

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

 

 

 

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["appActivity"] = ".MainActivity"
caps["appPackage"] = "com.testerhome.android"
caps["platformName"] = "Android"
caps["deviceName"] = "T7G0215522010430"

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", caps)
driver.implicitly_wait(13)
print("wait")
el1 = driver.find_element_by_accessibility_id("活动沙龙 知乎&TesterHome 第一期质量技术沙龙 | 活动报名  知乎&TesterHome 第一期质量技术沙龙 | 活动报名")
el1.click()
driver.implicitly_wait(10)
print("wait")
el2 = driver.find_element_by_accessibility_id("分享")
el2.click()
el3 = driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.support.v4.view.ViewPager/android.widget.GridView/android.widget.LinearLayout[1]/android.widget.LinearLayout/android.widget.ImageView")
el3.click()

driver.quit()

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值