1.开始结束时间只支持控件选择,不支持填写,怎么办?

如下图:

解决方案:

用javaScipt把开始结束时间的reaonly属性去除,然后再输入,举例如下

/**
     * 输入开始日期
     *
     * @param startDate
     */
    public void inputStartDate(String startDate) {
        String startjs = "document.getElementById('startDate').removeAttribute('readonly');";
        ((JavascriptExecutor) webdriver).executeScript(startjs);
        webdriver.typeById("startDate", startDate);
    }

2.因为新需求的加入,导致页面元素路径变更,原本好好的自动化测试用例执行失败

解决方案:

定位元素时,尽可能用id,name等定位,尽可能不用xpath定位。

如果你所测的系统很多元素id或name等等不唯一甚至没有,导致必须要用xpath定位,那么可以和开发同学协商。让他们以后开发新代码时尽可能给元素加上id或name这些属性,并取名唯一。

用id和name定位还有些好处就是:1.可以让你的代码可读性变强,如果在页面源代码中的ID或name属性被友好命名的话。2.xpath定位需要更长的时间来处理,因为浏览器必须运行它的XPath处理器。

3.如何判断浏览器是否加载完毕

如果是简简单单的等一段时间,这不是一个很好的解决方法,一方面浪费了时间,另一方面,我们也无法知道应该等多久,导致我们的测试程序不够稳定。

我常用的一个方法就是判断某个元素是否已加载,当然这个的前提是你的页面没有使用ajax

最新文章

  1. nodeJs 5.0.0 安装配置与nodeJs入门例子学习
  2. laravel中日志为daily时如何设置最大保存天数
  3. IOS 键盘 禁止输入字母
  4. 面向服务体系架构(SOA)和数据仓库(DW)的思考基于 IBM 产品体系搭建基于 SOA 和 DW 的企业基础架构平台
  5. svn 403 Forbidden
  6. 过滤器-->GZIP压缩
  7. COJ968 WZJ的数据结构(负三十二)
  8. C#窗体:关于DataGridView的数据源绑定字符串两个值得注意的问题
  9. debian7下部署nginx服务器
  10. Objective-C中字典的使用方法总结
  11. java中排序一个字符串数组
  12. 一种基于Qt的可伸缩的全异步C/S架构server实现(一) 综述
  13. Swift - 按钮(UIButton)的用法
  14. Docker: 限制容器可用的内存
  15. vw实现移动端自适应页面
  16. Linux下用rm删除的文件的恢复方法
  17. poj2083 Fractal
  18. Exception类的学习与继承总结
  19. luogu1169 棋盘制作 (单调栈)
  20. Android打印当前所有线程及对应栈信息

热门文章

  1. Elasticsearch由浅入深(二)ES基础分布式架构、横向扩容、容错机制
  2. 妖娆的HTML
  3. (三)golang--执行流程分析
  4. fiddler抓包-6-Copy与Save常用技巧
  5. Prometheus 告警状态了解
  6. 在<a></a>标签中如何调用javaScript脚本
  7. asp.net 版本一键升级,后台直接调用升级脚本
  8. python2.7写的图形密码生成器
  9. webpack报错
  10. Qt for Android修改应用程序的图标和名称