package com.lemon.day01;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.List;

import org.openqa.selenium.By;

import org.openqa.selenium.WebElement;

import org.openqa.selenium.remote.DesiredCapabilities;

import org.testng.Assert;

import org.testng.annotations.BeforeMethod;

import org.testng.annotations.DataProvider;

import org.testng.annotations.Test;

import io.appium.java_client.AppiumDriver;

import io.appium.java_client.android.AndroidDriver;

public class APPTest2 {

AppiumDriver<WebElement> driver;

@BeforeMethod

public void beforeMethod() throws MalformedURLException{

//1;添加配置

//手工:找到设备、APP、APP某个页面

DesiredCapabilities desiredcapabilities = new DesiredCapabilities();

desiredcapabilities.setCapability("deviceName","127.0.0.1:52001");//设备名

desiredcapabilities.setCapability("appPackage","com.tencent.mm");//app包,区别我们每台设备的app

//使用命令:adb shell dumpsys activity | find "mFocusedActivity"

desiredcapabilities.setCapability("appActivity","com.tencent.mm.ui.LauncherUI");//指定页面

//2;创建驱动

//remoteAddress:远程url地址

//desiredCapablites :这个驱动期望得到的能力

URL remoteAddress = new URL("http://127.0.0.1:4723/wd/hub");//固定不变的

driver = new AndroidDriver<WebElement>(remoteAddress,desiredcapabilities);

}

@Test(dataProvider = "testDatas")

//拿到数据提供者的数据,循环这个二维数组,提取元素(一维数组),会把一维数组中的每个元素依次注入到形式参数里

//可以把数据提供者的数据注入到测试方法的形式参数里

public void TestCase(String nickName,String mobilPhone,String pwd ) throws MalformedURLException, InterruptedException {

//3;找到页面元素

//自动化:程序自动定位到页面元素

Thread.sleep(10000);

WebElement registerBtn = driver.findElement(By.id("d36"));

Thread.sleep(10000);

registerBtn.click();

Thread.sleep(1000);

//4;操作页面元素来模拟用户操作

//测试用例,进入注册页面,如 昵称、手机号、密码都不输入的情况,然后点击注册

List<WebElement> elements = driver.findElements(By.id("ht"));

// WebElement nickNameInput = driver.findElement(By.id("ht"));

//nickNameInput.sendKeys("");//输入字符串

elements.get(0).sendKeys(nickName);

// WebElement mobilPhoneInput = driver.findElement(By.id("ht"));

// mobilPhoneInput.sendKeys("");

elements.get(1).sendKeys(mobilPhone);

// WebElement pwdInput = driver.findElement(By.id("ht"));

//pwdInput.sendKeys("");

elements.get(2).sendKeys(pwd);

WebElement registerBtnn = driver.findElement(By.id("cw1"));

boolean isEnabled = registerBtnn.isEnabled();//是否被激活

Assert.assertFalse(isEnabled);//断言判断是否可以点击

driver.quit();

}

@DataProvider

public Object[][] testDatas(){

//int[] array1 = {1,2,3,4};//静态数组

Object[][] datas = {{"","",""},{"shashe","",""},{"shashe","15111917843",""}};

return datas;

}

}

最新文章

  1. win7系统下的飞秋发送文件失败问题
  2. jQuery实现的简单小功能(实用)
  3. Xstream解析XML
  4. linux命令之 top, free,ps
  5. 如何向Openstack社区提交一个新项目
  6. C#中的Linq to Xml详解
  7. Javascript Math ceil()、floor()、round()三个函数的区别
  8. jquery获取iframe中的dom对象
  9. 【转】vs2008中leptonica-1.68安装配置
  10. 有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。 请描述实现算法,并指出算法复杂度
  11. Delphi TStream 详细介绍
  12. 删除bin后,Eclipse重新编译项目
  13. eclipse myeclipse中的一些配置
  14. 2017.2.6Redis连接问题排查
  15. Django中的auth模块
  16. Django-urls路由系统
  17. 关键字提取算法TF-IDF和TextRank(python3)————实现TF-IDF并jieba中的TF-IDF对比,使用jieba中的实现TextRank
  18. Java基础-多线程-②多线程安全问题
  19. ACM札记
  20. hdu 6041 I Curse Myself 无向图找环+优先队列

热门文章

  1. SpringBoot进阶教程(六十一)intellij idea project下建多个module搭建架构(下)
  2. 导入 SQL 时出现 Invalid default value for &#39;create_time&#39; 报错解决方法
  3. js遍历API总结
  4. ionic $state.go() 传参
  5. 【原创】为什么Redis集群有16384个槽
  6. ‎CocosBuilder 学习笔记(1) CCBReader 解析.ccbi文件流程
  7. 朋友聚会,下馆子要到哪家饭馆?——单样本T检验帮你找到答案
  8. ElementUI使用v-if控制tab标签显示遇到的Duplicate keys detected: &#39;xxx&#39;问题
  9. Monad 在实际开发中的应用
  10. 基于SSM的在线考试系统