1.开始结束时间只支持控件选择,不支持填写,怎么办?java
以下图:web
解决方案:ajax
用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.由于新需求的加入,致使页面元素路径变动,本来好好的自动化测试用例执行失败blog
解决方案:ip
定位元素时,尽量用id,name等定位,尽量不用xpath定位。ci
若是你所测的系统不少元素id或name等等不惟一甚至没有,致使必需要用xpath定位,那么能够和开发同窗协商。让他们之后开发新代码时尽量给元素加上id或name这些属性,并取名惟一。开发
用id和name定位还有些好处就是:1.可让你的代码可读性变强,若是在页面源代码中的ID或name属性被友好命名的话。2.xpath定位须要更长的时间来处理,由于浏览器必须运行它的XPath处理器。rem
3.如何判断浏览器是否加载完毕
若是是简简单单的等一段时间,这不是一个很好的解决方法,一方面浪费了时间,另外一方面,咱们也没法知道应该等多久,致使咱们的测试程序不够稳定。
我经常使用的一个方法就是判断某个元素是否已加载,固然这个的前提是你的页面没有使用ajax