selenium+java的常使用的一些操作

常用操作均在下面的有测试用例有体现。

  1 package CRM;
  2
  3 import static org.testng.Assert.assertEquals;
  4
  5 import java.awt.Checkbox;
  6 import java.sql.Driver;
  7 import java.util.Iterator;
  8 import java.util.List;
  9 import java.util.Set;
 10 import java.util.concurrent.Delayed;
 11
 12 import org.openqa.selenium.By;
 13 import org.openqa.selenium.JavascriptExecutor;
 14 import org.openqa.selenium.WebDriver;
 15 import org.openqa.selenium.WebElement;
 16 import org.openqa.selenium.firefox.FirefoxDriver;
 17 import org.openqa.selenium.interactions.Actions;
 18 import org.openqa.selenium.support.ui.Select;
 19 import org.openqa.selenium.support.ui.Sleeper;
 20 import org.testng.annotations.Test;
 21
 22
 23
 24 public class NewTest {
 25     public static boolean a;
 26     public static WebDriver dr;
 27     //登录的静态方法
 28     public static boolean login(String name,String pwd) throws InterruptedException {
 29          dr=new FirefoxDriver();
 30          dr.get("http://crm.cloud.5kcrm.com/");
 31          dr.findElement(By.name("name")).clear();
 32          dr.findElement(By.name("password")).clear();
 33          dr.findElement(By.name("name")).sendKeys(name);
 34          dr.findElement(By.name("password")).sendKeys(pwd);
 35          dr.findElement(By.name("submit")).click();
 36          Thread.sleep(5000);
 37
 38          try {
 39              dr.findElement(By.id("menu_home"));
 40              a=true;
 41         } catch (Exception e) {
 42             a=false;
 43         }
 44          return a;
 45     }
 46
 47
 48     //登录密码错误的登录,调用登录方法
 49   @Test
 50   public void 登录密码错误() throws InterruptedException {
 51     boolean a=login("boss1", "123456");
 52     dr.quit();
 53     assertEquals(a, false);
 54   }
 55
 56
 57   //登录正确账号密码的登录,调用登录方法
 58   @Test
 59   public void 正确登录() throws InterruptedException {
 60     boolean a=login("boss", "123456");
 61     dr.quit();
 62     assertEquals(a, true);
 63   }
 64
 65
 66   //学习 不同的定位方法
 67   @Test
 68   public void 组织构架() throws InterruptedException{
 69       boolean a=login("boss", "123456");
 70       Actions action=new Actions(dr);
 71       WebElement webe=dr.findElement(By.xpath("//a[contains(text(),‘办‘)]"));
 72        webe.click();
 73        dr.findElement(By.linkText("组织架构")).click();
 74        Thread.sleep(4000);
 75        WebElement w1=dr.findElement(By.xpath(".//*[@id=‘browser‘]/li[1]/span/a"));
 76        Actions a1=new Actions(dr);
 77        a1.moveToElement(w1).perform();
 78        dr.findElement(By.xpath(".//*[@id=‘popOverBox‘]/input[2]")).click();
 79        dr.findElement(By.xpath("html/body/div[9]/div[2]/form/div[1]/div/input")).sendKeys("测试部门");
 80        dr.findElement(By.cssSelector(".controls>textarea[name=‘description‘]")).sendKeys("测试测试");
 81        dr.findElement(By.xpath("html/body/div[9]/div[3]/div/button[1]")).click();
 82   }
 83
 84
 85   //选择类、切换和切回frame框架、
 86   @Test
 87   public void 测试训练() throws InterruptedException{
 88       boolean a=login("boss", "123456");
 89       dr.manage().window().maximize();
 90       dr.get("http://crm.cloud.5kcrm.com/index.php?m=task&a=add");
 91       dr.findElement(By.id("subject")).sendKeys("测试任务");
 92       WebElement d1=dr.findElement(By.name("message_alert"));
 93
 94       if (d1.getAttribute("checked").equals("true")){
 95          d1.click();
 96       }
 97       dr.findElement(By.name("owner_name")).click();
 98       Thread.sleep(1300);
 99       dr.findElement(By.xpath(".//*[@id=‘dialog-message7‘]/form/ul/li[2]/a")).click();
100       dr.findElement(By.xpath(".//*[@id=‘ta2‘]/label")).click();
101       dr.findElement(By.xpath("html/body/div[8]/div[3]/div/button[1]")).click();
102       dr.findElement(By.id("due_date")).sendKeys("2017-07-29 15:57");
103       WebElement status=dr.findElement(By.name("status"));
104       Select slstatus = new Select(status);
105       slstatus.selectByVisibleText("进行中");
106       dr.switchTo().frame("ueditor_0");
107       dr.findElement(By.xpath("//body")).sendKeys("测试内容填写");
108       dr.switchTo().defaultContent();
109       dr.findElement(By.xpath("html/body/div[6]/div/div/div[3]"
110               + "/div/form/table/tfoot/tr/td[2]/input[1]")).click();
111       Thread.sleep(3000);
112       boolean a1=false;
113       try {
114         dr.findElement(By.linkText("测试任务"));
115         a1=true;
116
117     } catch (Exception e) {
118
119     }
120
121       //测试list中查找需要的元素
122       WebElement tg1=null;
123       List<WebElement> tagnames= dr.findElements(By.tagName("input"));
124       for (WebElement tg:tagnames){
125           if(tg.getAttribute("name").equals("password")){
126               tg1=tg;
127               break;
128           }
129
130       }
131       System.out.println(tg1.getTagName().toString());
132
133       assertEquals(a1,true);
134       dr.quit();
135   }
136
137
138   //切换window页面
139   @Test
140   public void 切换window() throws Exception{
141       boolean a=login("boss", "123456");
142       Thread.sleep(4000);
143       WebElement a1=dr.findElement(By.linkText("客户管理"));
144       Actions a2=new Actions(dr);
145       a2.clickAndHold(a1).perform();
146       Thread.sleep(1000);
147       dr.findElement(By.xpath("html/body/div[2]/div/div/div[2]/ul[1]/li[1]/ul/li[9]/a")).click();
148       //1、获得当前的句柄
149       String hd=dr.getWindowHandle();
150       System.out.println(hd.toString());
151       //2、获得所有的句柄
152       Set<String> hds=dr.getWindowHandles();
153       System.out.println(hds.toString());
154       String h1=null;
155       //3、切换句柄
156      for(String h:hds){
157          if(!h.equals(hd)){
158              h1=h;
159              break;
160          }
161      }
162
163       dr.switchTo().window(h1);
164       dr.get("http://baidu.com");
165       dr.switchTo().window(hd);
166       dr.get("http://so.com");
167   }
168 }
时间: 2025-01-09 04:15:30

selenium+java的常使用的一些操作的相关文章

selenium webdriver学习(九)------------如何操作cookies(转)

selenium webdriver学习(九)------------如何操作cookies 博客分类: Selenium-webdriver Web 测试中我们经常会接触到Cookies,一个Cookies主要属性有”所在域.name.value.有效日期和路径",下面来讲一下怎么操作Cookies. Java代码   import java.util.Set; import org.openqa.selenium.Cookie; import org.openqa.selenium.WebD

selenium webdriver学习(八)------------如何操作select下拉框(转)

selenium webdriver学习(八)------------如何操作select下拉框 博客分类: Selenium-webdriver 下面我们来看一下selenium webdriver是如何来处理select下拉框的,以http://passport.51.com/reg2.5p这个页面为例.这个页面中有4个下拉框,下面演示4种选中下拉框选项的方法.select处理比较简单,直接看代码吧:) Java代码   import org.openqa.selenium.By; impo

selenium第一课(selenium+java+testNG+maven)

selenium介绍和环境搭建 一.简单介绍 1.selenium:Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Chrome等.支持自动录制动作和自动生成,Net.Java.Python等不同语言的测试脚本.Selenium 测试脚本可以在 Windows.Linux 和 Macintosh等多种平台上运行. 2.TestNG:TestNG是一个测试框架,其灵感来自JU

selenium+java+testNG+maven环境搭建

一.简单介绍 1.selenium: Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Chrome等.支持自动录制动作和自动生成,Net.Java.Python等不同语言的测试脚本.Selenium 测试脚本可以在 Windows.Linux 和 Macintosh等多种平台上运行. 2.TestNG: TestNG是一个测试框架,其灵感来自JUnit和NUnit的,但引入

Selenium+Java+Eclipse 自动化测试环境搭建

一.下载Java windows java下载链接 https://www.java.com/zh_CN/download/win10.jsp 二.安装Java 安装好后检查一下需不需要配置环境变量,现在java 8已经不用配置环境变量了,直接在命令行输入:java -version 三.下载和安装Eclipse windows Eclipse下载链接 https://www.eclipse.org/downloads/ 你也可以下载绿色版 四.下载selenium,然后解压 selenium

Android NDK开发篇(五):Java与原生代码通信(数据操作)

尽管说使用NDK能够提高Android程序的运行效率,可是调用起来还是略微有点麻烦.NDK能够直接使用Java的原生数据类型,而引用类型,由于Java的引用类型的实如今NDK被屏蔽了,所以在NDK使用Java的引用类型则要做对应的处理. 一.对引用数据类型的操作 尽管Java的引用类型的实如今NDK被屏蔽了,JNI还是提供了一组API,通过JNIEnv接口指针提供原生方法改动和使用Java的引用类型. 1.字符串操作 JNI把Java的字符串当作引用来处理,在NDK中使用Java的字符串,须要相

java模拟而一个电话本操作

哈哈,大家平时都在使用电话本,下面使用java来模拟而一个简单的电话本吧... 首先给出联系人的抽象类 package net.itaem.po; /** * * 电话人的信息 * */ public class User { private String name; private String phoneNumber; private String companyName; private String email; private String address; private Strin

软件测试之Selenium Java WebDriver

编写Selenium Java WebDriver程序,测试inputgit.csv表格中的学号和git地址的对应关系 package selenium2; import java.util.regex.Pattern; import java.util.concurrent.TimeUnit; import org.junit.*; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import o

自动化测试框架selenium+java+TestNG——配置篇

最近来总结下自动化测试 selenium的一些常用框架测试搭配,由简入繁,最简单的就是selenium+java+TestNG了,因为我用的是java,就只是总结下java了. TestNG在线安装: 打开Eclipse   Help ->Install New Software ,   然后Add   "http://beust.com/eclipse" 选择TestNG,finish下一步完成安装. 验证是否安装成功 File->new->other 导入sele