测试用例的缝缝补补

                                                                                          

                                   打牌 : da pai ge的个人主页
                                   ️个人专栏 : da pai ge的博客专栏
                                  ☁️山水速疾来去易,襄樊镇固永难开

☁️定位页面的元素

参数:抽象类By里的方法,如cssSelector、xpath、id、name、classname

​​

️定位元素的方法


css选择器


基础选择器
id选择器、类选择....
复合选择器
子类选择器、父类选择器...

测试用例的缝缝补补_第1张图片

//css选择器
String xwtest = driver.findElement(By
a:nth-child(1)")).getText()

xpath选择器


语法:
层级:/子级 //跳级属性: @函数: contains ()..

driver.findElement(By.xpath( xpathExpr
"//*[@id=\"su\"]")) .click()

️具体语法

click


提交: submitclick和submit都可以操作按饥
可以click不一定可以submit
但是页面的任何元素都可以click
selenium官方文档里不建议使用submit

/cLick点击行为
driver.findElement(By.xpath( xpathExpr
"//*[@id=\"su\"]")) .click()


 模拟按键输入: send keys

/模拟按键进行输入send_keys
driver.findElement(By.cssSelector("#kw")).sendKeys( ...keysToSend: "火箭")
driver.findElement(By.cssSelector("#kw")).sendKeys( ...keysToSend: "


clear () 清除对象输入的文本内容

/clear清除对象输入的文本内容
driver.findElement(By.cssSelector("#kw")).sendKeys( ...keysToSend: "java");
Thread.sleep( millis: 3000) ;
driver.findElement(By.cssSelector("#kw")).clear();
Thread.sleep( millis: 3000);
driver.findElement(By.cssSelector("#kw")).sendKeys( ...keysToSend: "java");
Thread.sleep( millis: 3000) :


gettext获取文本

//获取文本gettext
String bdtext = driver.findElement(By.cssSelector("#hotsearch-content
> li:nth-child(1) > a > span.title-content-title")).getText()


黑要注意下:不是说页面上可以看见的文之都能成为文本,有的文本是属性对应的显性值,不能够通过eetTet0来获取文太
获取属性值:使用getAttribute () 方法来获取属性值

//如何获取属性值
String bdtext = driver.findElement(By.cssSelector("#su")).getAttribute( name: "value");
System.out.printLn("期望的属性值: 百度-
,实际打印的是:"+bdtext);


️等待


代码的执行速度比较快,而前端页面渲染的速度相对较慢一点,可能导致的结果是:代码已经执行到下一步了,页面还没有渲染出来,元素找不到。
等待又分为三个:强制等待、隐式等待、显式等待


强制等待:


让程序暂停一会,等待指定的时间之后继续执行下一步。
 

oublic void wait_Test()
throws
InterruptedException
//不添加等待的话页面没有渲染完成,导致最后一步的查找页面元素失败,添加强制等待3s再进行页面元素查找,结果成功
driver.findElement(By.cssSelector("#kw")).sendKeys( ...keysToSend: "迪丽热巴");
driver.findElement(By.cssSelector("#su")).click();
Thread.sleep( millis: 3000) ;
driver,findElement(By.cssSelector("# 131 > div > div.header-left_1BntJ > div.

隐式等待


在规定的时间范围内,轮询等待元素出现之后就立即结束,如果在规定的时间内元素仍然没有出现,则会抛出一个NoSuchElementException异常
 

//隐式等待
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(3))

你可能感兴趣的:(selenium,自动化,运维,测试用例)