关于在进行web自动化测试过程中出现使用self.driver调用selenium方法比如get时报错:参数错误

###关于在进行web自动化测试过程中出现使用self.driver调用selenium方法比如get时报错:参数错误

问题描述

  • 在进行web测试时,使用driver进行浏览器操作时,报错:一般为缺少一个位置参数xxx。

  • 比如:self.driver.get(url) 报错:缺少一个position argument url

这时你通过关键字形式 传入url:url=url,就会发现,报错信息变为,缺少参数 self。
这是因为出于某种原因,你的driver并没有被实例化,而driver调用浏览器进行操作的大部分方法都是需要实例对象来调用的,而self则是第一个,也是在实例对象调用方法时默认传入的。

出现场景

混乱的代码结构,没有通过pytest框架来书写测试用例,使用了 if name==‘main’:等启动入口来执行代码。而在这个入口执行时没有将类成功实例化,导致这个类调用方法时是以一个非实例的状态调用的。

解决

使用pytest框架重新编写代码,或者在原有基础上认真查看逻辑driver是否被实例化。