怎么建设素材网站,邯郸网站推广怎么做,创业it外包公司,潍坊专业做网站公司01 多页面处理
做UI自动化的时候常常会遇到浏览器弹出新的Tab页#xff0c;或者需要在多个网页服务之间来回取数据的情况。
比如在首页点击文章“Jmeter使用#xff1f;”的链接#xff0c;浏览器会弹出一个新的页面显示“Jmeter使用#xff1f;”这篇文章的详情。此时如…
01 多页面处理
做UI自动化的时候常常会遇到浏览器弹出新的Tab页或者需要在多个网页服务之间来回取数据的情况。
比如在首页点击文章“Jmeter使用”的链接浏览器会弹出一个新的页面显示“Jmeter使用”这篇文章的详情。此时如果用Selenium Webdriver去查找该页面中的元素会发现抛出空指针报错。
这是因为Selenium Webdriver只能指向一个HTML页面而此时Webdriver仍然指向首页只能查找到首页的内容。 遇到这种情况我们需要用到句柄来处理不同页面的切换。
在使用句柄以前我们先了解它的基本概念我们可以把通过Selenium WebDriver打开的每一个页面都看做一个小球每个小球有唯一的标识这个标识就是句柄。我们的手就相当于WebDriver它通过获取所有的小球依次遍历查看小球的详情比如Title来判断小球是不是我们要的页面。如果是则通过小球的唯一标识句柄把WebDriver指向到我们需要的网页页面然后再进行元素处理。 Selenium WebDriver 句柄处理Api
• driver.getwindowhandles() 获取当前浏览器打开的所有页面
• driver.getwindowhandle() 获取当前“活跃”页面
• driver.getTitle() 获取当前“活跃”页面的标题
• driver.switchTo().windows(handleName) 切换“活跃”页面
通过上述Api我们可以实现多页面的切换和处理 02 Windows控件
UI自动化中常常遇到上传文件的场景以百度图片上传为例上传是基于Windows的控件完成的点击上传以后会弹出Windows文件系统让你选择Windows路径下的文件 Selenium只能处理网页元素无法处理Windows控件遇到这种情况我们可以基于JavaRobot来处理Windows的控件。JavaRobot类用于为测试自动化、自运行演示程序和其他需要控制鼠标和键盘的应用程序生成本机系统输入事件可以实现Windows的自动化测试。
03 JavaRobot常用API 以处理Windows弹窗选择文件为例当我们点击网页元素出现Windows弹窗后可按下述逻辑处理
• 基于Tookit往剪贴板输入文件路径
• 使用JavaRobot Enter键将光标移动到输入框
• 使用JavaRobot CTRLC 键拷贝剪贴板中的内容
• 使用JavaRobot CTRLV 粘贴内容到光标出
• 使用JavaRobot ENTER键 关闭Windows弹窗并上传文件 行动吧在路上总比一直观望的要好未来的你肯定会感 谢现在拼搏的自己如果想学习提升找不到资料没人答疑解惑时请及时加入扣群 320231853里面有各种软件测试开发资料和技术可以一起交流学习哦。
最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走
这些资料对于【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴上万个测试工程师们走过最艰难的路程希望也能帮助到你