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

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. linux 实用命令

    从一台机器远程连接到另一台机器: ssh platform@192.168.155.116 从一台机器发送文件到另一台机器: scp /home/weihuang/vie-zyzj.jar platf ...

  2. FAQs on Android

    @1: Environment Setup Ubuntu 14.04  32bits 1. Call Requires API level 11 (current min is 8) Android. ...

  3. centos7使用中文输入法

    centos7自带中文输入法,可能我们在安装时会跳过选择汉语拼音,我们来重新设置一下吧 假如你在命令行界面,输入Ctrl+Alt+F1进入图形界面 点击左上角系统工具   --> 设置 --&g ...

  4. ActiveRecord多数据库配置

    ActiveRecord 的多数据库配置基本沿袭了 NHibernate 的思想,只不过在配置文件结构上作了些调整.NHibernate的配置也是基于配置得来的,配置多个SessionFactory传 ...

  5. idea 取消控制台的行数限制

    有时候我们要输出大量的信息放到控制台显示,但是多了之后就出现最上面的信息被覆盖删除, 因此就需要设置控制台的显示行数,但在idea7之后的版本中,取消了对控制台行数设置选项, 只能通过更改配置文件进行 ...

  6. 获取一个表单字段中多条数据并转化为json格式

    如图需要获取下面两个li标签里面的数据,然后传给后台:而后台接收的数据格式是json的,所以需要把两个li里面的信息转化为以下格式的. {recieverName:小红,recieverPhone:1 ...

  7. Linux 网络 I/O 模型简介(图文)

    1.介绍 Linux 的内核将所有外部设备都看做一个文件来操作(一切皆文件),对一个文件的读写操作会调用内核提供的系统命令,返回一个file descriptor(fd,文件描述符).而对一个sock ...

  8. Java-性能调优实战(jps、jstack)

    找最耗CPU的线程 1. 找出java进程 [ ~]# jps 9939 Resin 9874 WatchdogManager 9926 Jps 2. 找java进程下所有的线程 [ ~]# top ...

  9. getJson同步

    $.ajaxSettings.async = false;//在执行之前加$.ajaxSettings.async = false;  (同步执行)  function get_no_order_ar ...

  10. 重新想,重新看——CSS3变形,过渡与动画②

    本篇文章主要用来归纳总结CSS3变形属性. CSS3变形属性大致可以分为以下三个部分: 变形控制属性 2D变形函数 3D变形函数 下面将对其一一进行分析: 1.变形控制属性 所谓的变形控制属性主要指“ ...