搭环境时注意不要忘记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 代码实例的更多相关文章

  1. IDEA+Java:Selenium+Maven+TestNG基本WebUI自动化测试环境搭建

    IDEA+java:Selenium+Maven+TestNG 本文介绍的测试环境,应该是最基本的测试环境了,也是很多文章都有写,这里做一个完整的图文配置整理,方便阅读理解! 使用maven的好处,由 ...

  2. JAVA+SELENIUM+MAVEN+TESTNG框架(二)新建项目

    1.新建maven项目 2.下载selenium的jar包,放入maven依赖库中 3.新增testng依赖库,build path->add libirary->testng 4.查看自 ...

  3. java+selenium+maven+testng框架(一)安装搭建

    1.安装jdk(注意:需配置环境变量,可自行百度方法); 2.安装eclipse; 3.安装maven(注意:需配置环境变量,可自行百度方法); 4.在eclipse中新建maven项目 新建成功 注 ...

  4. java+selenium+maven+IntelliJ IDEA 搭建简单的UI自动化测试环境

    1. 用IntelliJ IDEA新建一个maven工程 2. 在pom.xml中添加依赖: <dependency> <groupId>org.seleniumhq.sele ...

  5. Java+selenium自动化测试基础

    Java+selenium maven配置 maven的配置,但还需要建立maven的本地库,修改apach-maven的setting.xml http://www.cnblogs.com/haoa ...

  6. Java+Selenium 3.x 实现Web自动化 - Maven打包TestNG,利用jenkins执行测试

    1. Jenkins本地执行测试 or 服务器端执行测试 测试代码计划通过jenkins执行时,通过网上查询各种教程,大多数为本地执行测试,由此可见,本地执行是大多数人的选择. 经过探讨,最终决定采用 ...

  7. java+Selenium+TestNg搭建自动化测试架构(1)实现代码和数据的分离

    1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在pr ...

  8. Java+Selenium+Testng自动化测试学习(二)

    Java+Selenium+TestNG自动化测试框架整合 1.简化代码 封装一个定位元素的类,类型为ElementLocation package com.test; import org.open ...

  9. 《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)

    1.简介 上一篇讲解了依赖测试的各种方法,今天继续讲解依赖测试的方法,这一篇主要是讲解和分享通过xml文件配置组名依赖方法( 主要是测试组的用法).废话不说,直接上干货. 2.实例 测试组:一个组可包 ...

随机推荐

  1. React-redux深入理解

    首先,一张 Redux 解释图镇楼: [回顾]Redux 的核心: store 是什么?(createStore 函数的实现) const store = createStore(reducer); ...

  2. 使用 requests

    基本实例 #利用requests库发送get请求 import requests r = requests.get('http://httpbin.org/get') print(r.text) 利用 ...

  3. 图的深度优先遍历(DFS)—递归算法

    实验环境:win10, DEV C++5.11 实验要求: 实现图的深度优先遍历 实验代码: #include <iostream> #define maxSize 255 #includ ...

  4. 常见JS倒计时

    https://www.jb51.net/Special/356.htm  //JS倒计时  <button onclick="resetTime(60)">启动倒计时 ...

  5. python之 类对象 类方法 实例对象 实例方法 静态方法

    实例对象1. 创建的时间:使用 类名()的时候,就创建一个实例对象2. 实例属性:怎样添加 只要是一个变量能够指向这个实例对象,那么这个变量.xxxx = 111就是给其添加一个实例属性 特点: 跟着 ...

  6. Java for-each循环解惑

    Java for-each循环解惑 2014/04/24 | 分类: 技术之外 | 0 条评论 | 标签: JAVA 分享到:21 本文由 ImportNew - liqing 翻译自 javarev ...

  7. React Native开发的一种代码规范:Eslint + FlowType

    [这篇随笔记录的很简单,没有涉及具体的Eslint规则解释以及FlowType的类型说明和使用等,只是链接了所需的若干文档] js开发很舒服,但是代码一多起来就参差不齐,难以阅读了.所以加上一些代码规 ...

  8. spring boot 的参数配置。

    https://blog.csdn.net/baidu_24237655/article/details/72772402

  9. P4168 [Violet]蒲公英

    神仙分块题?其实还是很简单的,res[i][j]表示第i块到第j块的众数,然后再用sum[i][j]表示前i块中j这个种类出现的次数,然后分块瞎搞就行了,感觉我写的十分简洁,好评( //author ...

  10. git 创建删除分支

    进入仓库目录 -- 查看本地分支 git branch -- 查看远程分支 git branch -r -- 查看远程和本地的分支 git branch -a -- 下载远程分支代码,并切换到分支 进 ...