隐式等待 显示等待 动态等待
尽量把变的东西变成不可变的东西
环境变化,语言会变,DB会变,写断言的时候,要消除变化的东西,怎么办
1.测试环境会变 怎么消除 通过配置文件的方式来解决
2.界面的语言会变 中文、英文 以不变应万变,断言不用包含变化的内容
3.DB会变 数据会变 解决办法:数据重新导入,先还原数据
自动化测试 不能直接连数据库
4.UI会变 怎么做到前端页面改变,而测试用例不变
把locator提出来,类似QTP的对象库,通过我们编写代码实现,达到前端页面改变,而用例改动最小
思想:所有对象都管理起来,以页面为维度 ---做成对象库
方法的提取:
出现copy -- paste的时候 代码需要重构 把重复的代码变成方法
new WebDriver的重构
一个用例,只写一个断言,无关的东西不要加入
比如创建文章,直接get创建文章的链接,而不是菜单一个一个去点出来,因为后者会使此testcase不再单纯
((
把dr强制类型转换
JS的方式,往富文本框中输入内容
什么时候用cssSelector
WebElement first_post = dr.findElement(By.cssSelector(".entry-title a"));
如果找到很多这种元素,默认返回第一个