TestNG+Java+Selenium+Maven 代码实例
搭环境时注意不要忘记testng的jar包,selenium的jar包
package com.guge.test;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
public class Guge {
WebDriver driver=new FirefoxDriver();
@Test
public void login() throws InterruptedException {
//driver.get("http://guge.user.yunpaas.cn/gugeUser/index.html#/home");
driver.manage().window().maximize();//窗口最大化
driver.get("http://www.baidu.com/");
//账号密码,获取验证码
driver.findElement(By.xpath(".//*[@id='app']/div/div[1]/form/div[1]/div/div[1]/input")).sendKeys("13284079862");
driver.findElement(By.xpath(".//*[@id='app']/div/div[1]/form/div[2]/div/div/input")).sendKeys("123456");
driver.findElement(By.className("getcode")).click();
//控制台输入验证码
Scanner sc = new Scanner(System.in);
System.out.println("请输入6位数字验证码:(按回车键继续)");
String code = sc.nextLine();
driver.findElement(By.xpath(".//*[@id='app']/div/div[1]/form/div[3]/div/div/input")).sendKeys(code); //控制台的验证码填写在输入框里
driver.findElement(By.className("login_from_btn")).click();
System.out.println("登录中...");
//断言
Thread.sleep(8000);
Assert.assertEquals(driver.findElement(By.xpath(".//*[@id='app']/div/div[2]/div/div/div[1]/div[1]/div/span[1]")).getText(),"欢迎 !","登录失败!"); //实际值,预期值,提示信息
System.out.println("登录成功......");
}
@Test
public void denglubtn(){
Assert.assertEquals(driver.findElement(By.xpath(".//*[@id='app']/div/div[2]/div/div/div[1]/div[1]/div/span[2]")).getText(),"北京聚通达科技股份有限公司(勿删)","公司名称错误!");
//driver.findElement(By.xpath(".//*[@id='app']/div/div[1]/div[1]/ul/li[1]/span")).click();
//driver.findElement(By.xpath(".//*[@id='app']/div/div[2]/div/div/div[2]/div/div[1]/div[1]/div[2]")).click();
}
@BeforeMethod
public void beforeMethod() {
}
@AfterMethod
public void afterMethod() {
System.out.println("Page title is: " + driver.getTitle());
driver.quit();
}
}
TestNG+Java+Selenium+Maven 代码实例的更多相关文章
- IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建
IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...
- JAVA+SELENIUM+MAVEN+TESTNG框架(二)新建项目
1.新建maven项目 2.下载selenium的jar包,放入maven依赖库中 3.新增testng依赖库,build path->add libirary->testng 4.查看自 ...
- java+selenium+maven+testng框架(一)安装搭建
1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...
- java+selenium+maven+IntelliJ IDEA 搭建简单的UI自动化测试环境
1. 用IntelliJ IDEA新建一个maven工程 2. 在pom.xml中添加依赖: <dependency> <groupId>org.seleniumhq.sele ...
- Java+selenium自动化测试基础
Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting.xml http://www.cnblogs.com/haoa ...
- Java+Selenium 3.x 实现Web自动化 - Maven打包TestNG,利用jenkins执行测试
1. Jenkins本地执行测试 or 服务器端执行测试 测试代码计划通过jenkins执行时,通过网上查询各种教程,大多数为本地执行测试,由此可见,本地执行是大多数人的选择. 经过探讨,最终决定采用 ...
- java+Selenium+TestNg搭建自动化测试架构(1)实现代码和数据的分离
1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在pr ...
- Java+Selenium+Testng自动化测试学习(二)
Java+Selenium+TestNG自动化测试框架整合 1.简化代码 封装一个定位元素的类,类型为ElementLocation package com.test; import org.open ...
- 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...
随机推荐
- django ----视图和路由
django的view(视图) 一个视图函数,简称视图,是一个简单python函数,他接受web请求并且返回一个响应 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者 ...
- io读取遇到的问题
使用Inputstream输入流读取数据的时候总要使用一个额byte[]数组进行读取 byte[] b= new byte[1024]; while((len = in.read(b)) != -1) ...
- mysql安装杂记
绿色版安装 先进入bin目录下初始化 命令:mysqld -initialize-insecure mysqld --initialize --user=mysql --console 初 ...
- .NET数据采集
public string GetHttpData(string Url) { string sException = null; string sRslt = null; WebResponse o ...
- Hello_World
简单A+B #include <stdio> int main() { int a,b; scanf("%d%d",&a, &b); printf(&q ...
- python练习题3:N的多次方
N的多次方 描述 编写一个程序,计算输入数字N的0次方到5次方结果,并依次输出这6个结果,输出结果间用空格分隔.其中:N是一个整数或浮点数. print()函数可以同时输出多个信息,采用如下方法可以使 ...
- day-12函数对象
函数默认值的细节 如果函数的默认参数的默认值为变量,在所属函数定义阶段一执行就被确定为当时变量存放的值,后面变化不会再变化 a = 100 def fn(num=a): a = 200 fn() 三元 ...
- 使用mediainfo工具统计每个视频文件(媒体文件)播放时长
需求 1.运营那边需要统计大量视频文件的播放时长,并汇总记录到excel表中,问我有什么方法搞定 这边搜索了很多统计媒体文件时长的,主要有以下几种 1.使用java获取 2.使用python获取 3. ...
- 密码疑云 (3)——详解RSA的加密与解密
上一篇文章介绍了RSA涉及的数学知识,本章将应用这些知识详解RSA的加密与解密. RSA算法的密钥生成过程 密钥的生成是RSA算法的核心,它的密钥对生成过程如下: 1. 选择两个不相等的大素数p和q, ...
- Verilog编码规范与时序收敛
Verilog编码规范与时序收敛 没有优先级的时候,尽量用case 时钟选择