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.实例 测试组:一个组可包 ...
随机推荐
- React-redux深入理解
首先,一张 Redux 解释图镇楼: [回顾]Redux 的核心: store 是什么?(createStore 函数的实现) const store = createStore(reducer); ...
- 使用 requests
基本实例 #利用requests库发送get请求 import requests r = requests.get('http://httpbin.org/get') print(r.text) 利用 ...
- 图的深度优先遍历(DFS)—递归算法
实验环境:win10, DEV C++5.11 实验要求: 实现图的深度优先遍历 实验代码: #include <iostream> #define maxSize 255 #includ ...
- 常见JS倒计时
https://www.jb51.net/Special/356.htm //JS倒计时 <button onclick="resetTime(60)">启动倒计时 ...
- python之 类对象 类方法 实例对象 实例方法 静态方法
实例对象1. 创建的时间:使用 类名()的时候,就创建一个实例对象2. 实例属性:怎样添加 只要是一个变量能够指向这个实例对象,那么这个变量.xxxx = 111就是给其添加一个实例属性 特点: 跟着 ...
- Java for-each循环解惑
Java for-each循环解惑 2014/04/24 | 分类: 技术之外 | 0 条评论 | 标签: JAVA 分享到:21 本文由 ImportNew - liqing 翻译自 javarev ...
- React Native开发的一种代码规范:Eslint + FlowType
[这篇随笔记录的很简单,没有涉及具体的Eslint规则解释以及FlowType的类型说明和使用等,只是链接了所需的若干文档] js开发很舒服,但是代码一多起来就参差不齐,难以阅读了.所以加上一些代码规 ...
- spring boot 的参数配置。
https://blog.csdn.net/baidu_24237655/article/details/72772402
- P4168 [Violet]蒲公英
神仙分块题?其实还是很简单的,res[i][j]表示第i块到第j块的众数,然后再用sum[i][j]表示前i块中j这个种类出现的次数,然后分块瞎搞就行了,感觉我写的十分简洁,好评( //author ...
- git 创建删除分支
进入仓库目录 -- 查看本地分支 git branch -- 查看远程分支 git branch -r -- 查看远程和本地的分支 git branch -a -- 下载远程分支代码,并切换到分支 进 ...