webview 模拟点击_切换到 webview 后使用 click 方法未抛异常但模拟器未点击

package com.yzj.liaghtapp;

import java.io.BufferedReader;

import java.io.File;

import java.io.InputStreamReader;

import java.net.URL;

import java.util.Set;

import org.openqa.selenium.By;

import org.openqa.selenium.remote.DesiredCapabilities;

import org.openqa.selenium.support.ui.ExpectedConditions;

import org.openqa.selenium.support.ui.WebDriverWait;

import org.testng.Assert;

import org.testng.annotations.AfterClass;

import org.testng.annotations.BeforeClass;

import org.testng.annotations.Test;

import io.appium.java_client.android.AndroidDriver;

import io.appium.java_client.android.AndroidElement;

import io.appium.java_client.remote.MobileCapabilityType;

public class customermanage {

private AndroidDriver driver;

private WebDriverWait wait;

@BeforeClass

public void setUp() throws Exception {

File classpathRoot = new File(System.getProperty("user.dir"));

File appDir = new File(classpathRoot, "app");

File app = new File(appDir, "云之家.apk");

DesiredCapabilities capabilities = new DesiredCapabilities();

capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "127.0.0.1:62001");

capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "4.4");

capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());

capabilities.setCapability(MobileCapabilityType.APP_PACKAGE, "com.kdweibo.client");

driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

}

@AfterClass(alwaysRun = true)

public void tearDown() throws Exception {

driver.quit();

}

@Test

public void waitLaunch(){

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(driver.findElement(By.id("login")).isDisplayed()){

driver.findElement(By.id("login")).click();

}

wait = new WebDriverWait(driver,30);

wait.until(ExpectedConditions.presenceOfElementLocated(By.id("lg_portrait_border")));

}

@Test(dependsOnMethods = "waitLaunch")

public void login(){

driver.findElement(By.id("et_number")).sendKeys("13296884163");

driver.findElement(By.id("inputPassword")).click();

driver.findElement(By.id("inputPassword")).sendKeys("hxnearc228");

driver.hideKeyboard();

driver.findElement(By.name("登录")).click();

try {

Thread.sleep(5000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(driver.findElement(By.name("完善个人信息")).isDisplayed()){

driver.findElement(By.id("btn_right")).click();//出现完善个人信息点击下一步

}

wait.until(ExpectedConditions.presenceOfElementLocated(By.id("tv_title")));

}

@Test(dependsOnMethods = "login")

public void switchteam(){

driver.findElement(By.name("我")).click();

driver.findElement(By.id("btn_popup")).click();

driver.findElement(By.name("测试大本营")).click();

wait.until(ExpectedConditions.presenceOfElementLocated(By.id("tv_title")));

}

@Test(dependsOnMethods = "switchteam")

public void openlightapp(){

driver.findElement(By.name("应用")).click();

try {

Thread.sleep(10000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(driver.findElement(By.name("长按图标进行编辑操作")).isDisplayed())

{

driver.findElement(By.id("im_tips_dissmiss")).click();//关闭引导

}

driver.findElement(By.name("商机管理(模拟)")).click();

try {

Thread.sleep(10000);//等待webview加载,必须要给足时间

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

//遍历context,切换到webview,注意 有些app可能有多个webview

Set context = driver.getContextHandles();

for(String contextname : context){

System.out.println(contextname);//打印

if(contextname.contains("WEBVIEW"))

driver.context(contextname);

}

String url = driver.getCurrentUrl();//获取webview的url,native是获取不到会出错的

String pageSource=driver.getPageSource();

boolean ispageSourceEmpty=(pageSource ==null || pageSource.isEmpty());

System.out.println(driver.getPageSource());

System.out.println(url);

//直接获取web的元素

System.out.println("contextname:!!"+driver.getContext());

Assert.assertEquals(ispageSourceEmpty, false);

}

@Test(dependsOnMethods = "openlightapp")

public void businessOpportunitiesmain(){

driver.findElement(By.id("add-btn")).click();

System.out.println("add-btn isdisplayed?:"+driver.findElement(By.id("add-btn")).isDisplayed());

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值