TestNG(五)常用元素的操作

原则先定位元素,然后对元素进行操作。

一、点击操作

//用name方法查找元素WebElement keyfind = driver.findElement(By.name("tj_trnews"));//对查找到的元素点击操作keyfind.click();

二、对页面输入框输入

//查找输入框元素 WebElement ID = driver.findElement(By.id("kw")); //输入框输入“selenium” ID.sendKeys("selenium");

三、清空文本框

//查找输入框元素WebElement keys = driver.findElement(By.id("kw"));//输入框输入“selenium”keys.sendKeys("selenium");//查找点击按钮元素Thread.sleep(5000);keys.click();

四、获取文本框的值

getText只能是获取到标签中间的值。

例如:百度首页上面的新闻,地图,都算是标签中间的值。

五、

六、


一、点击操作

例1、用谷歌浏览器打开百度首页,找到新闻页面,对他进行点击操作。然后关闭浏览器。
package webtest;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

/**
 * Created by Yeastar on 2018/4/24.
 * 打开百度,点击
 */
public class Webtest {
    WebDriver driver;
    @BeforeMethod
    public void tetsCast1()throws InterruptedException{
        System.setProperty("webdriver.chrome.driver","F:\\WebTest\\driver\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("https://www.baidu.com");
        Thread.sleep(5000);
    }
例2打开百度首页页面,找到输入框,输入selenium,并且点击搜索按钮,最后校验是否正确跳转到页面。

注意下面一段代码中,加了一个等待。如果没有这个等待这个cast可能会跑不通过。

原因是:当我输入框输入点击时,要跳转到另外一个界面,这时候页面可能还没有渲染出来,还停留在原来的页面,这样接下去的校验就会错误。导致我们的case跑不通过。 解决方法:所以记得在页面跳转的时候最好增加一个等待时间,确保页面加载出来再进行校验。可以先用sleep,在接下来有更优的方式。

@Test
    public void sendkeystest()throws InterruptedException{
        //查找输入框元素
         WebElement ID = driver.findElement(By.id("kw"));
         //输入框输入“selenium”
         ID.sendKeys("selenium");
         //查找点击按钮元素
         WebElement baiudBUttom =driver.findElement(By.id("su"));
         //对找到的元素点击
         baiudBUttom.click();
         //等待5S,这里注意到等待页面加载出来,要不然页面没有加载出来,下面的校验可能会失败
         Thread.sleep(5000);
         driver.getTitle();
         String title =driver.getTitle();
         Assert.assertEquals(title,"selenium_百度搜索");

    }

  

例3、清空文本框操作 ,为了使效果看的明显一些,加等待时间。

@Test
        public void clearkeystest()throws InterruptedException{
            //查找输入框元素
            WebElement keys = driver.findElement(By.id("kw"));
            //输入框输入“selenium”
            keys.sendKeys("selenium");
            //查找点击按钮元素
            Thread.sleep(5000);
            keys.click();
            Thread.sleep(5000);

    }

  

原文地址:https://www.cnblogs.com/Daisyjm/p/8932320.html

时间: 2024-08-30 16:07:07

TestNG(五)常用元素的操作的相关文章

HTML常用元素

HTML常用元素 1.换行符 当需要结束一行,又不想开始新段落时,使用<br>标签.<br>标签不管放在什么位置,都能够强制换行. 代码如下: <p>我是一只小小小鸟<br>想飞,飞不高</p> 2.段落 <p>标签定义段落. 代码如下: <p>相信我,这是一个段落,不骗你</p> 说明:可加属性 align 进行行对齐(left,right,center) 代码如下: <p align="le

html——常用元素与属性

html5是由标签组成的标记语言,本篇就介绍HTML5的部分标签 html5保留的常用标签 <!--  -->    定义HTML注释 <html>    HTML5文档的根元素 <head>    定义HTML文档的头部页面元素 <title>    定义HTML5的页面标题 <body>    定义HTML5文档的页面主体部分 <style>    该元素用于引入样式定义 <h1>到<h6>    定义标题

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作)

关于黑客,你了解多少?----黑客入门学习(常用术语+DOS操作) ·1.1·前言 黑客一次是由英语"Hacker"英译出来的,是指专门研究.发现计算机和网络漏洞的计算机爱好者,他们伴随着计算机和网络的发展而产生成长.黑客对计算机有着狂热的兴趣和执着的追求,他们不断的研究计算机和网络知识,发现计算机和网络中存在的漏洞,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出解决和修补漏洞的方法. 黑客的出现推动了计算机和网络的发展与完善.他们所做的不是恶意破坏,他们是一群纵横于网络的大

【五】PHP数组操作函数(未完)

1.输出数组的结构:bool print_r(数组); $arr=array('jack','mike','tom'); print_r($arr);//Array ( [0] => jack [1] => mike [2] => tom ) 2.如何声明二位数组? $arr=array('name'=>array('jack','mike'),'sex'=>array('man','woman')); print_r($arr);//Array ( [name] =>

ios 常用字符串的操作

//将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];//将NSString 转化为NSData (NSString.h)- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串[_display deleteCharacte

[JAVA_开课吧资源]第五周 I/O操作、多线程、网络编程技术

主题一 I/O操作 » 流的概念 在面向对象语言中, 数据的输入和输出都是通过数据流来实现的.数据流是一组有顺序.有起点和终点的字符集合.就好比是两个不同的池子,一个池子中存满了水,而另一个池子中则没有任何的东西,在这两个水池中安放一个管子,水就可以从一个池子流向另一个池子了.在从一个池子向另一个池子输送水的过程中,水扮演的角色就是数据流. [请点击查看更多内容 转自文章] » Stream stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有

事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流

一.事件冒泡定义 事件冒泡是指在一个对象触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,甚至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层级的最顶层,即document对象(有些浏览器是window).. 二.事件冒泡的作用 事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元

javascript 常用的数组操作

join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为","). 与之相反的一个方法是:String.splict() ,将字符串分隔成若干块来创建一个新的数组. reverse() Array.reverse(),颠倒数组元素的顺序,返回逆向的数组.注意此方法会修改原来数组元素的位置,而不是返回一个新的数组. sort() sort() 方法将数组中的元素排序并返回排序后的数组.s

JAVA-初步认识-第五章-数组-常见操作-选择排序

一. 排序 元素有很多的情况下,我们都希望元素按照指定的方式有一个顺序,比如说由小到大.排序的方式有很多种,我们讲解其中一种. 例子: 对上面的数组中的元素排个序,从小到大.这个想不出来,之前谈论的是两个数比较,得到大的数. 听了视频的一点讲解,突然有了思路,角标0和角标1进行比较后,将元素的大小做了调换,再继续将角标0和剩余角标的元素进行比较,最终保证角标0中的元素是所有角标中最小的.接着重复将角标1和后面角标中的元素进行比较,再得出一个最小的值,如此往复.这里排序的时候,有一点是要注意的,角