自动化技术关于定位

在写Python的代码块中,能够定义类就定义一个类,通过定义方法,这样在别人的项目中想要调用的时候就可以通过导包的方式来来实现,提高代码的重复使用性。

在写Python的代码块中,能够用到构造方法就用构造方法,构造方法和析构方法一块使用。

def __init__(self):#构造方法
dr = webdriver.Chrome()
dr.implicitly_wait(10)
dr.maximize_window()
dr.get('http://47.105.47.131/zentaopms/www/index.php?m=user&f=login')
  # 登陆
       dr.find_element_by_id('account').send_keys("fankaikai")  # 输入用户名
   dr.find_element_by_name('password').send_keys('qftest2020')  # 输入密码
 dr.find_element_by_id('submit').click()  # 单击登陆按钮     dr.find_element_by_xpath("(//a[text()='Bug'])[1]").click()  # 单击“我的地盘”旁的Bug
     self.dr = dr
 def __del__(self):#析构方法
   self.dr.find_element_by_link_text("樊凯凯").click()
 self.dr.find_element_by_link_text("退出").click()
  self.dr.close()
  # self.dr.quit()#用不了,会报错

#在上面的构造方法和析构方法之后,用不了quit,因为关闭的是所有的页面,而close是关闭的当前的页面
在Python中想要调用方法的时候,就可以通过self.dr ,为了避免重复写代码可以通过复制的方式 dr=self.dr

 def search_bug(self):#查询BUG
         dr = self.dr
         dr.find_element_by_id("bysearchTab").click()#单击搜索
         dr.find_element_by_id("value1").send_keys('【测试数据】系统不能正常登陆')#单击按标题搜索的输入框
         dr.find_element_by_id("submit").click()  # 单击搜索结果
         sleep(2)
         result = dr.find_element_by_xpath('//*[@id="bugForm"]/div[3]/div[3]/strong[1]').text
         if result == '1':
             print("查询成功!")
         else:
         print("查询失败!")

以上代码就是用了self.dr 重新赋给了dr这样可以避免重复写self.df
在进行自动化的时候,有些前面的一些内容不能修改,这样在测试的时候往往测试的不够全面,因此我们可以通过修改属性值来进行测试
下面是eg:

# dr.execute_script("document.getElementById('account').readOnly=true;")

true 是只读属性false删除属性

登录页面的验证码用于识别人机操作,增强安全性
处理验证码有以下几种方式
①屏蔽验证码
②万能验证码
③图像识别
④添加cookie
⑤打码平台

文件上传的方式有两种
第一通过send_keys(后面加上文件上传的路径)
以下是示例

# dr.find_element_by_id('batchfile').send_keys(r"D:\kaijiangdaochu.xlsx")

第二种通过工具来进行上传文件
需要装一个工具pyhoock

以下是示例的代码

 from pykeyboard import PyKeyboard
 dr.find_element_by_id('batchfile').click()#单击文件上传按钮
 sleep(2)
 k = PyKeyboard()#实例化
 k.type_string(r"D:\kaijiangdaochu.xlsx")#输入要上传的文件地址
sleep(2)
 k.press_keys([k.alt_key,'o'])#点击alt+o快捷键实现上传
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值