appium实现的一个简单的测试用例

前几天在搭建appium的环境,苦于项目紧急,没有好好解决一个滑动问题,经过网络的资料搜索,现在将我学习的过程中踩过的坑记录下来。

问题:app安装实现,启动实现,但是没有滑动。原因是:滑动代码没有放在@test下,且休眠时间太短,后面的坐标给的太小。代码实现如下:

package com.glen.demo;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;

import java.io.File;  
import java.net.URL;

public class ContactsTest {
    private static AppiumDriver driver;
    @Before
    
    public void setUp() throws Exception {
        //设置apk的路径
        File classpathRoot = new File(System.getProperty("user.dir"));
        File appDir = new File(classpathRoot, "apps");
        File app = new File(appDir, "DreamHouse.apk");  
        //设置自动化相关参数
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
        capabilities.setCapability("platformName", "Android");
        capabilities.setCapability("deviceName", "DreamHouse");   
        //设置安卓系统版本
        capabilities.setCapability("platformVersion", "4.2.2");
        //设置apk路径
        capabilities.setCapability("app", app.getAbsolutePath());
        //设置app的主包名和主类名
        capabilities.setCapability("appPackage", "com.uama.dreamhouseforlc");
        capabilities.setCapability("appActivity", "com.uama.dreamhouseforlc.actvity.LaunchActivity");   
        //初始化
        //driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);  
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);      
    }
    
    @After
    public void tearDown() throws Exception {
        //driver.quit();   
        System.out.println("fww");
    }   
    
    
    @Test
    public void swipe() throws InterruptedException{
        Thread.sleep(10000);
        int width = driver.manage().window().getSize().width;
        int height = driver.manage().window().getSize().height;
        driver.swipe(width *7/8, height/6, width/8, height/6, 500);
        System.out.println("滑动第一页");
        driver.swipe(width *7/8, height/6, width/8, height/6, 500);
        Thread.sleep(5000);
        System.out.println("滑动第二页");
        driver.swipe(width *7/8, height/6, width/8, height/6, 500);
        System.out.println("滑动第三页");
        Thread.sleep(5000);
        Thread.sleep(5000);
        driver.findElement(By.name("立即启用")).clear();
    }
 
}

eclipse结构jar如下:

关键点在于jar包,如有问题请发我邮箱:[email protected]

或者加入杭州appium自动化测试专业群:239226112

时间: 2024-10-01 20:31:22

appium实现的一个简单的测试用例的相关文章

使用springboot写一个简单的测试用例

使用springboot写一个简单的测试用例 目录结构 pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:

Appium+python的一个简单完整的用例

最近一直在忙,终于有时间来整理一下,传一个简单的用例,运行之后可以看到用例的报告,希望对大家有帮助. HTMLTestRunner这个包网上有很多,大家可以自己下载. 1 import unittest 2 from appium import webdriver 3 from time import sleep 4 import os 5 import tempfile 6 from PIL import Image 7 import HTMLTestRunner 8 import time

测试工具之Jmeter(创建一个简单测试用例)

前面介绍了如何使用badboy录制jmeter脚本,以及如何导入脚本并进行测试 这里介绍下手动创建测试用例,主要步骤如下: 1.创建线程组 第一次打开Jmeter只有一个测试计划,右键"测试计划"选择"添加" -> "Threads" -> "线程组",即可得到如下配置界面: 名称:即这个线程组的名字 注释:对这个线程组的注释 在取样器执行错误后的操作:根据需要勾选后续执行情况,一般都会选择继续 线程数:即总的测试

一个简单的appium脚本

这是一个简单的appium脚本,测试amazon购物过程的,过程包括搜索商品,然后从结果列表中选取中意的商品,然后加入购物车,等等. 它是一个最原始的脚本,对测试元素.数据.报告等未作任何的封装,后面计划把它合并到现有的webdriver的web测试框架里去. 运行中终于到的问题: 1.genymotion模拟器上执行有点延迟,脚本命令发出后大概3秒模拟器上才有反应: 2.在输入搜索条件后,执行回车命令,执行的效果是退格键(backspace),百撕不得骑姐啊: 3.再就是非原生对象的识别了,比

Appium+Robotframework实现Android应用的自动化测试-6:一个简单的例子

万事具备,只欠编码! 下面看一个简单的示例,这个示例验证Android手机自带的通讯录的添加联系人的操作是否成功.这个例子是Appium官网自带的示例,有兴趣的同学也可以自己下载来研究和学习,下载地址:示例代码下载 首先请看resource.txt文件的代码: *** Settings *** Library           AppiumLibrary *** Variables *** ${REMOTE_URL}     http://localhost:4723/wd/hub ${PLA

Appium+Robotframework实现iOS应用的自动化测试-5:一个简单的例子

万事具备,只欠编码! 下面看一个简单的示例,这个示例验证常见的登录功能.这个例子的应用是我所在的公司正在研发的,还没有正式上线,就不提供下载路径了.登录功能是很多应用都用的,这个大家都知道是怎样的功能. 首先请看resource.txt文件的代码: *** Settings *** Library AppiumLibrary *** Variables *** ${REMOTE_URL} http://192.168.1.6:4723/wd/hub ${PLATFORM_NAME} iOS ${

编写一个简单的单元测试用例

开发一个简单的计算器,用于计算两个数的加减乘除,示例: 1 class Calculator(): 2 '''实现简单的加减乘除''' 3 def __init__(self,a,b): 4 self.a = int(a) 5 self.b = int(b) 6 7 def add(self): 8 return self.a + self.b 9 10 def sub(self): 11 return self.a - self.b 12 13 def mul(self): 14 return

从零构建一个简单的 Python Web框架

为什么你想要自己构建一个 web 框架呢?我想,原因有以下几点: 你有一个新奇的想法,觉得将会取代其他的框架 你想要获得一些名气 你遇到的问题很独特,以至于现有的框架不太合适 你对 web 框架是如何工作的很感兴趣,因为你想要成为一位更好的 web 开发者. 接下来的笔墨将着重于最后一点.这篇文章旨在通过对设计和实现过程一步一步的阐述告诉读者,我在完成一个小型的服务器和框架之后学到了什么.你可以在这个代码仓库中找到这个项目的完整代码. 我希望这篇文章可以鼓励更多的人来尝试,因为这确实很有趣.它让

【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement

本blog提供了一个简单的通过JDBC驱动建立JDBC连接例程,并分别通过Statement和PreparedStatement实现对数据库的查询.在下一篇blog中将重点比较Statement与PreparedStatement的差异. 1.为项目添加JDBC驱动 1)JDBC驱动下载 官方下载地址:mysql-connector-java-5.0.8.zip CSDN资料下载地址:mysql-connector-java-5.0.8.zip 2)为项目添加JDBC驱动 建立项目Java项目J