加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

基于Java的selenium自动化问题汇总

发布时间:2020-02-22 05:39:51 所属栏目:资源 来源:站长网
导读:本篇 文章 并没有任何逻辑,也并未要说明哪个专业的 技术 知识,就是将平时遇到的大大小小的问题汇总下来 相当于上学时候的纠错本吧 1.WebDriver cannot be resolved to a type 当你创建一个Maven项目,准备大干一场,开始写 selenium 自动化代码时,写了
  本篇文章并没有任何逻辑,也并未要说明哪个专业的技术知识,就是将平时遇到的大大小小的问题汇总下来  相当于上学时候的纠错本吧  1.WebDriver cannot be resolved to a type  当你创建一个Maven项目,准备大干一场,开始写selenium自动化代码时,写了一行WebDriver就报错了WebDriver cannot be resolved to a type,这时对于自学的你来说,真的好焦虑。  很简单,多半是因为你没有导入包  在Maven的pom.xml文件中增加如下代码,然后再引入import org.openqa.selenium.WebDriver包即可。  2.如果代码没有任何问题,且时好时坏  在调试时,代码有时能跑通,有时跑不通,多半是没有定位到对应的元素,需要增加延时等待  selenium中延时等待分为三种:普通等待、显式等待和隐式等待。  1.最直接普通的等待,设置固定时间进行等待  优点:使用非常简单  缺点:1.浪费时间;2.无法保证页面一定加载完成;3.使用过于固定,一个流程中会要频繁使用,造成代码的重复非常高;4.正常情况下,一般不使用强制等待。  2.隐式等待:就是在创建driver时,为浏览器对象创建一个等待时间,这个方法是得不到某个元素就等待一段时间,直到拿到某个元素位置。  设置一个全局的等待,该等待设置,对于整个driver的生命周期都能起到作用,每一次操作都是调用隐式等待  隐式等待等待结束的标志:1.页面全部加载完成;2.设置的等待时间截止  优点:不用频繁的进行等待的添加,一次添加终生有效,不会浪费过多的时间在等待中。  缺点;1.无法对指定的元素进行等待;2.浪费一定的时间  当脚本执行到某个元素定位是,如果元素可以定位,则继续执行,如果元素定位不到,则它将以轮询的方式不断地判断元素是否被定位到。假设在第六秒定位到了元素则继续执行,若直到超出设置的时长10秒还没有定位到元素,则抛出异常。  3.显式等待:要等待的元素没有在规定的时间内出现,则抛出异常  对指定的元素进行等待,通过设置最大等待时间,检查频率对页面的元素进行等待,一旦找到元素,则停止等待,进入后续步骤。  3.自动化中如何处理唯一性的校验  我想大家都遇到过,系统中经常对一些字段进行唯一性校验,在自动化时,若没有修改输入的内容,脚本会出现错误,如何处理这种情况呢?很简单,输入的内容之后加上当前的系统时间。  4.如何定位属性一样的div、span元素  在selenium定位元素时,有的div、span元素除了文字信息,其他都是一样的,如下图所示基于Java的selenium自动化问题汇总基于Java的selenium自动化问题汇总  如何定义如图所示的元素:  5.读取properties中的文件乱码  在读取配置文件时,其中包含中文会出现乱码,在读取的时候使用BufferedReader去读取,能有效的解决此类问题。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读