首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

自动化框架 FluentLenium 在全球化测试场景中的应用(6)常见问题

自动化框架 FluentLenium 在全球化测试场景中的应用(6)常见问题

结合 Selenium                解决常见问题
  • 处理 Iframe 和切换多个窗口 switchTo(FluentWebElement)方法能够切换到指定的 Iframe。通过                    switchTo()或者 switchToDefault()能够切换回到原来的页面。
  • 缩放浏览器的显示比例。首先,通过 getDriver()方法获取到 WebDriver 对象,然后调用 Selenium 的定位方法定位                    html 标签,再通过 WebElement 对象的 sendKeys 方法发送组合键达到缩放窗口的效果。WebDriver driver                    = getDriver();
    WebElement html =                    driver.findElement(By.tagName("html"));//Zoom                    Inhtml.sendKeys(Keys.chord(Keys.COMMAND, Keys.ADD));//Zoom                    Outhtml.sendKeys(Keys.chord(Keys.COMMAND, Keys.SUBTRACT));
  • 如何上传文件
    上传文件首先调用 getDriver()方法获得 selenium Webdriver                    对象,然后定位到页面上的上传元素,再通过 sendKeys(keysToSend)方法,执行上传。
    WebDriver driver                    = getDriver();WebElement uploadBtn =                    driver.findElement(By.name("Upload"));                    uploadBtn.sendKeys("C:\\file.txt");
  • 在识别元素过程中,经常会用到元素的 css                    属性,在此过程中,会有很多试错的过程,因为同一个页面会有很多相同属性的元素,这时需要找到上下的逻辑关系,或者页面的唯一识别元素来精确定位元素的位置,结合元素的属性,进行进一步的测试。通常我们在点击某个页面元素的时候,可能会遇到悬浮窗,这时,系统会报错,提示有                    element 悬浮在页面上方,这时需要加一些判断,来处理悬浮窗,等待其消失或者主动将其关闭。从而顺利执行我们的                    testcase。
结合                Javascript 解决常见问题
  • 把字符串标记出来
    在 TVT                    截图过程中需要标明哪些字符串是需要被验证的对象,所以我们在利用工具截图过程中需要将其标记出来,这时我们可以调用 JavaScript                    脚本来为元素加边框。在程序里我们可以通过调用 executeScript(String script)方法来执行 JavaScript。如:                    executeScript("document.getElementById(\"kw\").style.border=\"2px                    solid red\";");
  • 利用 JavaScript 显示隐藏对象
    JavaScript 隐藏 Element 的方式通过设置 style 的 display                    和 visibility 属性实现。如:
    style.display="none"或                    style.visibility="hidden",它们的区别是:"display"不但隐藏 Element,而且被隐藏的 Element                    不再占用显示时占用的位置,而"visibility"隐藏仅仅是将 Element 设置成不可见,但被隐藏的 Element                    仍占据原来的的位置。于是我们可以通过改变"display"和 "visibility"的值来显示出                    Element,如:
    style.display="block"或                    style.visibility="visible",如:
    executeScript("document.getElementsByClassName(\"tooltip\")[0].style.display=\"block\"");或                    executeScript("document.getElementsByClassName(\"tooltip\")[0].style.visibility=\"visible\"");需要注意的是在                    JavaScript 里的双引号需要用\转义。同样的,也可以使用 JQuery                    语法把隐藏对象显示出来。
    //隐藏$("#id").css('display','none'); 或                    $("#id").hide()//显示$("#id").css('display','block'); 或                    $("#id").show()//切换 Element 可见状态
    $("#id").toggle()注("#id")表示返回的                    JQuery 对象。
  • 利用页面对象模式提升代码的可读性
    页面对象模式能把所有的用户与界面交互的元素做封装,更易于代码的维护和阅读。如果将来页面出现变化,可以很方便的通过修改                    Page 类来适应新的变化。
页面对象封装模板结束语本文简要介绍了 Selenium、FluentLenium 框架在 GVT/TVT 中截图的应用,从而可以提高 GVT 和 TVT 的工作效率。而且,该框架结合 Selenium 也能够实现 GVT/TVT 中的大多数测试用例。
返回列表