(1)定位元素元素的操作分以下几种
①定位元素是按钮,比如“查询”、“下一步”、“百度一下”等,这类元素一般搭配click()
②定位元素是输入框,比如“输入查询的内容”、“输入密码”、“输入用户名”等,这类元素一般搭配send_keys()
③定位元素是文本信息,比如“密码错误”、“用户不存在”、“输入错误”,这类元素一般就是搭配.text,用于提取文本信息用于断言
(2)元素难以定位
①因为有iframe,这种我们一般采用switch_to_frame(元素定位)
②元素属于悬浮菜单只有把鼠标放到对应的位置才能显示菜单,这种一般用谷歌浏览器,按下F12然后按下F8暂停界面,然后定位元素
③界面加载过快无法及时定位元素,这种我们一般加一个隐式的等待方法implicitly_wait(10),或是在对应操作后加上sleep()方法
④界面加载过快我们加了sleep()方法反而使得界面元素无法定位,这种我们一般将sleep()方法去掉(这种一般不多,但是真实的存在)
⑤多界面的操作,因为点了某一个按钮,界面已发生跳转,如果在要定位之前的界面的元素我们就需切换界面,我们一般先将原始界面获取,然后在获取全部界面的句柄,然后在我们要定位元素时我们通过句柄定位到初始的界面
⑥新技术导致的界面元素无法加载,这种需要求助度娘和开发
(3)元素定位时需要注意的点
①那怕是同一个地方弹出来的提示框,提示信息不一样,元素的定位也是不一样的,比如我们注册为例,“注册成功”和“注册失败”的元素定位都是不一样的,这个需要注意
②一切UI自动化的基础都是手工测试,所以在写UI自动化时,应当功能测试用设计完毕并且手工测试已过,不然自动化测试的意义不大,因为你不清楚每个功能所对应的信息,UI自动化的断言你是无法写的
③网上经常说的窗口换了,无法定位元素指的是之前的老界面上的元素无法定位并不是说新界面上的元素无法定位,要定位老界面的元素,就需要切换窗口