美文网首页软件测试程序员
Selenium Web Driver自动化测试(java版)系

Selenium Web Driver自动化测试(java版)系

作者: 马可吃菠萝 | 来源:发表于2018-08-03 08:50 被阅读1次

    这篇说第二个特殊元素的操作 -浏览器的操作。浏览器的英文是browser,但和driver不一样,我们不用创建出一个叫browser的类实例来,还可以继续用driver那个类实例来调用方法。有人说那不还是driver的方法了么?确实,可以这么认为,但我觉得这些方法更像是在操作浏览器,所以就单开了浏览器这一类把这些操作总结进来。

    打开Eclipse创建一个叫SeleniumBrowsers的java项目 -> com.test包 -> Test.java,把main函数包括进来,引入selenium client jar包,然后把driver设置好。跟上回说的一样,我暂时先都用chrome做演示。这几步都是设置测试环境,如果不清楚的朋友请先到selenium driver操作那节复习一下。

    第一个是连续调用navigate().to(String url)方法。to()方法里面有一个参数,是网站的网址,这个功能就是为了前往某个网站:

    大家会发现这个方法和driver的get(String url)很相似,至少功能是一样的。其实还是有区别的,一会儿大家就知道了。第二个操作是连续调用navigate().back()。back就相当于在当前页面按了后退按钮。有去就有回,to是去,back就是回。但注意一点,这儿有个前提,在你当前的网页之前得有个网页对不对?否则按理说你的后退按钮应该是灰色的,是按不了的。比如你在新窗口打开一个链接,这个链接就是新窗口的第一页,它是没有历史的,上面的后退按钮应该是灰色的。这种情况下你要是用back就要报错了。可以这样记:“有去就有回,但要回得先去。”所以,navigate().to(String url)和navigate.back()是操作浏览器前后跳转的方法,涉及到网页历史的访问。而get()只是单纯打开一个网页,不涉及历史。所以如果要把这两者都用上,惯例上说先用get(String url)得到第一页,从而保证先有一个网页存在,然后再进行to()和back():

    我们让百度作为第一页,先到百度,再到我们的webelements网页,最后回到百度。这样,在我们的网页上的back按钮也不会是灰色的。我把每一步后面都加了Thread.sleep(3000),就是想让程序每执行完一步等待3秒钟好让大家看到效果,否则还没看清呢就咔咔咔执行完了。

    第三个方法是navigate().forward()。它是基于back()的,会再次回到调用back()之前的网页。在咱们这个例子里就是webelements网页:

    最后一个就是navigate().refresh(),refresh是刷新的意思,这个方法就是把当前页面刷新一下:

    这些就是关于浏览器的操作,本篇文章的源代码是SeleniumBrowsers项目。

    本篇知识点及注意事项:
    1. 浏览器的操作有前往某个网站、后退、前进、刷新等。

    相关文章

      网友评论

        本文标题:Selenium Web Driver自动化测试(java版)系

        本文链接:https://www.haomeiwen.com/subject/yfaevftx.html