彩虹云节点购买_外网节点购买(彩虹云vps)
上海鲁德软件测试培训https://www.testroad.org/ 软件测试学习
一、Selenium的Java编程根本 语法
在Selenium的根本 语法中起首 是必要 定位到页面元素的,Selenium通过找寻到界面元素然后触发相应的时间,通过页面元素变革 判定 是否实行 了相应的操纵 。
可以通过页面元素的属性获取相应的页面元素。
1.通过Identifier(id)定位元素
所给出的定位的HTML元素必须要有identifier,假如 没有就会陈诉 未找到相应元素的错误。通过ID来标识可以确定唯一性。
WebElement ele = By.id("idName");
只有当你明白 知道元素的id属性,才华 利用 。
2.通过Name定位元素
利用 id定位元素固然方面,但是id并不是html元素必须的,我们可以利用 Name定位元素位置。
利用 Name定位元素的位置,会匹配第一个与Name匹配的元素。假如 页面中有多个雷同 的Name,可以利用 更多的筛选器举行 元素筛选的细化。
WebElement ele = By.Name("name");
只有明白 知道原属的那么,才华 利用 。
3.通过Xpath定位元素
在一些环境 下无法得知页面元素的id和name,还可以利用 xpath从已知节点开始定位相应的元素。
绝对路径举行 定位 xpath=/html/body/form[1]
通过元素的相应属性定位比方 xpath=//form[@id='loginForm'] 表现 从根节点开始查找一个form元素她包罗 一个属性是id而且 内里 的值为loginForm
找到某一个元素下相应的子元素 xpath=//form[input/@name='username'] 找到Form表单下面的input元素而且 该元素有一个属性name且该name的值是username。
找到第一个指定的元素 xpath=//input[@name='username'] 扎到第一个input元素内里 有一个name属性而且 该属性值为username
还可以利用 更加细分的查找 xpath = //input[@name='continue'][@type='button'] 找到input标签,1.该标签有一个name=continue属性和type=button属性的元素。
4.通过毗连 定位元素
WebElement ele = By.LinkText("xxxx");
当知晓相应的链接类容就可以定位到相应的元素。
5.通过DOM元素定位元素
DOM元素是HTML的根本 元素,而且只有dom定位可以直接通过document
dom=document.getElementById('loginForm')dom=document.forms['loginForm']dom=document.forms[0]document.forms[0].usernamedocument.forms[0].elements['username']document.forms[0].elements[0]document.forms[0].elements[3]
6.通过tagName,通过标署名 称举行 定位
ListWebElement eles = By.TagName("tagname");
在一个页面中雷同 的tag标签太多了,假如 仅实用 单个tagname查询会找到一个列表。
7.通过Css举行 定位(Cascading Style Sheets)
css=form#loginFormcss=input[name="username"]css=input.required[type="text"]css=input.passfieldcss=#loginForm input[type="button"]css=#loginForm input:nth-child(2)
知晓了怎样 定位元素,我们就可以触发页面上相应的BOM变乱 了。
二、Selenium错误现场生存 方法(截屏和记录 日记 )
那么当实行 页面相应 的主动 化操纵 的时间 发生了错误我们应该怎样才华 更好的记录 相应的错误呢?记录 Log日记 和生存 相应的屏幕错误信息。
1.起首 记录 log日记 ,可利用 为java量身定做的log4j举行 日记 记录 (我的别的 一篇Log4j怎样 实现日记 分模块,分天,分错误级别举行 记录 )
2.截取错误发生时的屏幕,如许 就可以很快的定位错误发生前的操纵 和错误发生时的错误信息了。
分享一段实行 截屏的java代码。
/*截屏操纵 ,碰到 错误主动 截屏存储到指定位置。* 指定生存 的路径,然后通过 TakesScreenshot 的 getScreenshotAs举行 截屏操纵 。* WebElement 继承 TakesScreenshot 这个最大能耐焊好的基于了欣赏 器,返回当前的状态* ——整个当前的HTML元素内容* ——可视化部分 的HTML元素* */public static void captureScreenshot(String arg0,WebDriver driver){if(PrivateDataSource.Debug){logger.debug("调试截图功能,并把截图存储到:"+PrivateDataSource.screenshotsResultsPath);}String screenshotsResultsPath=PrivateDataSource.screenshotsResultsPath;String imagePath = screenshotsResultsPath + File.separator+arg0+"_"+arg0+".png";File screenShotFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);try {org.apache.commons.io.FileUtils.copyFile(screenShotFile, new File(imagePath));} catch (IOException e) {e.printStackTrace();if(PrivateDataSource.DebugError){logger.info( logger.getClass().getName()+" selenium输出截图功能失败。以下是错误信息!");logger.error(e.getStackTrace());}}}
三、Selenium欣赏 器兼容性测试
1.向欣赏 器注入一段可实行 的Java脚本
在很多 环境 下我们必要 程序触发一段Java脚本,起首 我们必要 注册相应的Java到欣赏 器中然后触发实行 。
WebElement ele = driver.findElement(By.id("SubMenu7").xpath("//table/tbody/tr[9]"));//定位Web页面的元素 //((JavaExecutor)driver).execute("arguments[0].onclick=function(){alert('js has been execute!');}", ele);//为这个元素添加可实行 的js ((JavaExecutor)driver).execute("arguments[0].onclick=function(){SelectMenu(this,'AirLineSeasonManage.aspx?TimeStamp=' + TimeStamp());}", ele);//为这个元素添加可实行 的js ele.click();
然后向相应的元素内里 注入一段可实行 脚本以上代码起首 找到相应的元素
末了 点击该元素实行 这个Java脚本。
2.IE欣赏 器运行留意 点
起首 必要 下载一个IEDriverServer.exe工具然后放置在恣意 位置,记录 相应的存放path
设置欣赏 器启动路径System.setProperty("webdriver.ie.driver", "存放IEDriverServer.exe的path");
启动程序开始实行
3.Chrome欣赏 器运行留意 点
起首 必要 下载一个chromedriver.exe模仿 Chrome欣赏 器的工具,放在恣意 位置,记录 相应的存放path
设置欣赏 器启动路径System.setProperty("webdriver.chrome.driver", "存放chromedriver.exe的path");
启动程序开始实行
4.FireFox欣赏 器中运行留意 点
直接安装了FireFox欣赏 器,而且 Selenium对FireFox有非常好的支持,以是 不必要 下载别的 的模仿 器举行 实行 验证。
假如 你的FireFox没有默认安装,即改变了默认的安装路径必要 设定运行变量,否则 FireFox不会被正常启动的。
System.setProperty("webdriver.firefox.bin", "FireFox的安装路径");
启动程序开始实行
(本文转载自网络.感谢原文作者)
作者:Admin本文地址:https://360admin.cn/cai-hong-yun-jie-dian-gou-mai-wai-wang-jie-dian-gou-mai-cai-hong-yun-vps.html发布于 今天
文章转载或复制请以超链接形式并注明出处磁力引擎导航网
觉得文章有用就打赏一下文章作者
支付宝扫一扫打赏

微信扫一扫打赏

发表评论