用 python+selenium做自动化 。qtp,jmeter,robot framework,像极了excel 里面的录制宏。

  用过selenium 和excel 的vba 以后,我们会发觉selenium其实就是做浏览器的自动化,vba是做excel操作的自动化,只不过是自动化的对象不同, 因为,宏的作用是 对excel进行自动化,而selenium 在网页操作进行自动化, 既然牵涉到自动化,那么我们一定是为了解决的重复操作的效率问题。

  在我的工作中,经常会牵涉到,数据下载的功能,那么我们就用selenium,把这一步下载进行自动化,并验证数据下载的功能模块的正确性。减少我们重复操作浏览器的时间,同时,我们要注意代码的复用,参数化,提高效率,我们可以通过,模块化的方式,数据驱动的方式测试,还有就是关键词驱动的测试比如qtp,jmeter。

 

  在开始之前,我们首先在 windows 下安装python pycharm,然后pip install selenium2.x,用pip show selenium来查看版本, 如果我们用ie或者chrome 我们需要安装相应的驱动,但是为了方便我们就还是用firefox48一下的版本,这样就用不着安装驱动了,48版本需要安装geckodriver,驱动下载地址:https://docs.seleniumhq.org/download/  。

 

 

 

 

import unittest
from selenium import webdriver



class download(unittest.TestCase): def setUp(self):

#加载浏览器驱动
self.driver = webdriver.Firefox()

#打开网页
self.driver.get("http://////////")

def login(self,usernames,passwords):
        driver.find_element_by_id("username").clear()
        driver.find_element_by_id("username").send_keys(usernames)

        driver.find_element_by_name("password").clear()
        driver.find_element_by_name("password").send_keys(passwords)

driver.find_element_by_id("login-btn").click()
def user_download(self):

#前一天时间选取

drive.find_element_by_css_selector("[value]='1']").click()
         #查询商户数据
         driver.find_element_by_id("agent_profit_search").click()

#下载数据
         driver.find_element_by_id("agent_profit_static_down").click()
         
        #弹框的确认
driver.switch_to_alert().accept()


def tearDown(self): self.driver.close() if __name__ == "__main__":
download().login("zhanghao","mima")
download().login("zhangho","mima")
download().login("zhangao","mima")
 
 
 
posted @ 2018-06-07 22:41  三得利  阅读(1008)  评论(0编辑  收藏  举报