Selenium入门练习(一)
自主学习---上海野生动物园之登录、订票、退票
Create了一个TestNG可以查看执行结果:
package FristTestNG;
import java.sql.Driver;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.testng.annotations.Test;
import com.thoughtworks.selenium.webdriven.commands.Click;
public class ZooTest {
@Test
public void f() throws InterruptedException {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.shwzoo.com/");//输入URL进入网站
driver.manage().window().maximize();//窗口最大化
Thread.sleep(1000);
driver.findElement(By.linkText("网上商城")).click();
driver.findElement(By.linkText("登录")).click();//登录
WebElement username = driver.findElement(By.id("txtUserName"));
username.sendKeys("2397244682@qq.com");
WebElement password = driver.findElement(By.id("txtPassword"));
password.sendKeys("123456");
driver.findElement(By.id("btnSubmit")).click();
//成功登录
driver.findElement(By.linkText("网上商城")).click();
Thread.sleep(1000);
driver.findElement(By.xpath("//img[contains(@src,'201704011017527881.jpg')]")).click();//购买成人票
Thread.sleep(1000);
//选票
driver.findElement(By.xpath("//input[@class='add']")).click();
driver.findElement(By.id("addtime")).sendKeys("2017-07-14");//日历怎么定位
driver.findElement(By.linkText("立即购买")).click();
driver.findElement(By.xpath("//div[@class='layui-layer-btn']/a")).click();
Thread.sleep(1000);
// Alert Dialog = driver.switchTo().alert();
// Dialog.accept();
//下单成功
driver.findElement(By.name("remark")).sendKeys("先别买,我还要退货。。。谢谢");
driver.findElement(By.id("btnSubmit")).click();
Thread.sleep(1000);
//更换窗口:当上一步骤执行后,打开了另外一个Windows时需要切换到改Windows窗口
String thisHandleId = driver.getWindowHandle();
for(String TempHanleId : driver.getWindowHandles())
if(!TempHanleId.equals(thisHandleId))
{
driver.switchTo().window(TempHanleId);
}
//成功退票
driver.findElement(By.xpath("//div[@class='wrap_1260']/ul/li[2]/a")).click();//B17061714522412143813
Thread.sleep(1000);
driver.findElement(By.xpath("//div[@class='main_content']/div[2]/div/a[3]")).click();
Thread.sleep(1000);
driver.findElement(By.xpath("//div[@class='layui-layer-btn']/a")).click();
}
}
Selenium入门练习(一)的更多相关文章
- 自动化测试Java一:Selenium入门
From: https://blog.csdn.net/u013258415/article/details/77750214 Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介 ...
- Selenium自动化测试Python一:Selenium入门
Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...
- Selenium 入门到精通系列:六
Selenium 入门到精通系列 PS:Checkbox方法 例子 HTML: <html> <head> <title>测试页面</title> &l ...
- Selenium 入门到精通系列:五
Selenium 入门到精通系列 PS:显式等待.隐式等待.强制等待方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019 ...
- Selenium 入门到精通系列:四
Selenium 入门到精通系列 PS:鼠标右键.鼠标悬停.键盘操作方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019 ...
- Selenium 入门到精通系列:三
Selenium 入门到精通系列 PS:Driver_Element 常用方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2 ...
- Selenium 入门到精通系列:二
Selenium 入门到精通系列 PS:用户登录 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12 ...
- Selenium 入门到精通系列:一
Selenium 入门到精通系列 PS:控制浏览器窗口大小.前进.后退.刷新 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 20 ...
- Selenium入门6 操作元素,获取元素属性
取元素的text,属性get_attribute,标签名tag_name 操作元素:send_keys输入,click点击,submit提交,clear清除输入 状态判断:is_display,is_ ...
- python3+selenium入门01-环境搭建
作为一个测试,在最近两年应该有明显的感觉.那就是工作变的难找,要求变的高了,自动化测试,性能测试等.没有自动化测试能力,只会点点点工作难找不说,工资也不高.所以还是要学习一些技术.首先要学习一门编程语 ...
随机推荐
- Spark源码分析之Sort-Based Shuffle读写流程
一 .概述 我们知道Spark Shuffle机制总共有三种: 1.未优化的Hash Shuffle:每一个ShuffleMapTask都会为每一个ReducerTask创建一个单独的文件,总的文件数 ...
- 数据库之ADO
ADO是一种跨多种语言的数据库访问技术. 在MFC里面微软公司将这些函数封装为以下几个类. 在VS2013版本的MFC中,这些类是如下定义的. CDaoDatabase Class:https://m ...
- iOS学习之flappyBird游戏的实现
导言 在本人还是学生的时候,flappyBird这款游戏非常火爆,最后等到Android版的出来之后,也是很痴迷的玩了一把.可是,本人游戏天赋一直平平,几度玩得想摔手机.本文主要介绍如何开发iOS平台 ...
- Leetcode 357
没用过Leetcode刷题,只能按照自己的想法随便写写了 思路:1.第一位数有9种(除了0)可能,第二位数有9种(除了第一位)可能,第三位数有8种(除了前两位)可能,以此类推...9*8*7*...( ...
- 谈面向对象的编程(Python)
(注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 今天中秋节,也没什么特别的,寻常日子依旧. 谈谈面向对象吧,什么叫面向对象? 那么问题来了,你有对象吗? 嗯,,,那我可 ...
- SparkSQL程序设计
1.创建Spark Session val spark = SparkSession.builder . master("local") .appName("spark ...
- C语言基础温故
一.C语言中数组动态增长有哪些方法? 1.在原数组单元后面是没法再扩长的,因为后面的单元没法保证一定有.所以,数组原址动态增长肯定是不行的: 2.要么定义长一点的数组,要么自已把N个数组用链表串起来, ...
- Chrome搜索设置
https://encrypted.google.com/ncr https://encrypted.google.com/search?{google:RLZ}{google:acceptedSug ...
- SQL.Mysql中Cast()函数的用法
比起orcale,MySQL相比之下就简单得多了,只需要一个Cast()函数就能搞定.其语法为:Cast(字段名 as 转换的类型 ),其中类型可以为: CHAR[(N)] 字符型 DATE 日期 ...
- HDFS数据块
磁盘也是由数据块组成的,一般默认大小是512字节,构建磁盘之上的文件系统一般是磁盘块的整数倍. HDFS也是采用块管理的,但是比较大,在Hadoop1.x中默认大小是64M,Hadoo ...