自主学习---上海野生动物园之登录、订票、退票

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入门练习(一)的更多相关文章

  1. 自动化测试Java一:Selenium入门

    From: https://blog.csdn.net/u013258415/article/details/77750214 Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介 ...

  2. Selenium自动化测试Python一:Selenium入门

    Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介绍Selenium的入门知识以及Selenium的前置知识. 自动化测试的基础 在Selenium的课程以前,我们先回顾一下软件 ...

  3. Selenium 入门到精通系列:六

    Selenium 入门到精通系列 PS:Checkbox方法 例子 HTML: <html> <head> <title>测试页面</title> &l ...

  4. Selenium 入门到精通系列:五

    Selenium 入门到精通系列 PS:显式等待.隐式等待.强制等待方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019 ...

  5. Selenium 入门到精通系列:四

    Selenium 入门到精通系列 PS:鼠标右键.鼠标悬停.键盘操作方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019 ...

  6. Selenium 入门到精通系列:三

    Selenium 入门到精通系列 PS:Driver_Element 常用方法 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2 ...

  7. Selenium 入门到精通系列:二

    Selenium 入门到精通系列 PS:用户登录 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2019-04-23 16:12 ...

  8. Selenium 入门到精通系列:一

    Selenium 入门到精通系列 PS:控制浏览器窗口大小.前进.后退.刷新 例子 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 20 ...

  9. Selenium入门6 操作元素,获取元素属性

    取元素的text,属性get_attribute,标签名tag_name 操作元素:send_keys输入,click点击,submit提交,clear清除输入 状态判断:is_display,is_ ...

  10. python3+selenium入门01-环境搭建

    作为一个测试,在最近两年应该有明显的感觉.那就是工作变的难找,要求变的高了,自动化测试,性能测试等.没有自动化测试能力,只会点点点工作难找不说,工资也不高.所以还是要学习一些技术.首先要学习一门编程语 ...

随机推荐

  1. Spark源码分析之Sort-Based Shuffle读写流程

    一 .概述 我们知道Spark Shuffle机制总共有三种: 1.未优化的Hash Shuffle:每一个ShuffleMapTask都会为每一个ReducerTask创建一个单独的文件,总的文件数 ...

  2. 数据库之ADO

    ADO是一种跨多种语言的数据库访问技术. 在MFC里面微软公司将这些函数封装为以下几个类. 在VS2013版本的MFC中,这些类是如下定义的. CDaoDatabase Class:https://m ...

  3. iOS学习之flappyBird游戏的实现

    导言 在本人还是学生的时候,flappyBird这款游戏非常火爆,最后等到Android版的出来之后,也是很痴迷的玩了一把.可是,本人游戏天赋一直平平,几度玩得想摔手机.本文主要介绍如何开发iOS平台 ...

  4. Leetcode 357

    没用过Leetcode刷题,只能按照自己的想法随便写写了 思路:1.第一位数有9种(除了0)可能,第二位数有9种(除了第一位)可能,第三位数有8种(除了前两位)可能,以此类推...9*8*7*...( ...

  5. 谈面向对象的编程(Python)

    (注:本文部分内容摘自互联网,由于作者水平有限,不足之处,还望留言指正.) 今天中秋节,也没什么特别的,寻常日子依旧. 谈谈面向对象吧,什么叫面向对象? 那么问题来了,你有对象吗?   嗯,,,那我可 ...

  6. SparkSQL程序设计

    1.创建Spark Session val spark = SparkSession.builder . master("local") .appName("spark ...

  7. C语言基础温故

    一.C语言中数组动态增长有哪些方法? 1.在原数组单元后面是没法再扩长的,因为后面的单元没法保证一定有.所以,数组原址动态增长肯定是不行的: 2.要么定义长一点的数组,要么自已把N个数组用链表串起来, ...

  8. Chrome搜索设置

    https://encrypted.google.com/ncr https://encrypted.google.com/search?{google:RLZ}{google:acceptedSug ...

  9. SQL.Mysql中Cast()函数的用法

    比起orcale,MySQL相比之下就简单得多了,只需要一个Cast()函数就能搞定.其语法为:Cast(字段名 as 转换的类型 ),其中类型可以为: CHAR[(N)] 字符型  DATE  日期 ...

  10. HDFS数据块

    磁盘也是由数据块组成的,一般默认大小是512字节,构建磁盘之上的文件系统一般是磁盘块的整数倍.         HDFS也是采用块管理的,但是比较大,在Hadoop1.x中默认大小是64M,Hadoo ...