css定位代码(css定位技术)

  上海鲁德软件测试培训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,通过标签名称进行定位

  List<WebElement> 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浏览器运行注意点

css定位代码(css定位技术),css定位代码(css定位技术),css定位代码,信息,浏览器,html,第1张

  首先需要下载一个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的安装路径");

  启动程序开始执行

  (本文转载自网络.感谢原文作者)


【免责声明】:

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

【关于转载】:

本站尊重互联网版权体系,本站部分图片、文章大部分转载于互联网、所有内容不代表本站观点、不对文章中的任何观点负责、转载的目的只用于给网民提供信息阅读,无任何商业用途,所有内容版权归原作者所有
如本站(文章、内容、图片、视频)任何资料有侵权,先说声抱歉;麻烦您请联系请后台提交工单,我们会立即删除、维护您的权益。非常感谢您的理解。

【附】:

二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

注:本站资源来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系我们处理!

-----------------------------------------------------------------------------------------------------------

【版权声明】:

一、本站致力于为源码爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
-----------------------------------------------------------------------------------------------------------


内容投诉
源码村资源网 » css定位代码(css定位技术)

1 评论

您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论