python+selenium简要内容

一.自动化就是模拟人的行为,python+selenium

二.搭建环境:

  每个浏览器都有其对应的geckodriver.exe,且版本不一样geckodriver.exe也不一样,一般火狐使用:47.0.2版本,其他的可以试试,百度搜索的到

  1. Python中的Selenium环境搭建:

             1) .在线安装:pip install selenium

             2) 本地安装:python selenium install

             3) 将selenium和urllib3的文件放进site-package中

  1. 火狐浏览器环境:

             1) .安装适用的火狐浏览器47.0.2版本,关闭自动更新

             2) .将geckodriver.exe放入火狐浏览器的安装路径中,打开C:\Python27\Lib\site-packages\selenium\webdriver\firefox\webdriver.py文件,修改executable_path="47.0.2版本的火狐浏览器安装路径\geckodriver.exe",

三.查看是否安装成功:

      导入webdriver的包:Import selenium from webdriver

       打开火狐浏览器:Driver=Webdriver.Firefox()

      使用火狐浏览器访问页面:Driver.get(“要访问的页面路径”)

四.使用定位

  #通过id定位输入框   find_element_by_id("文本框id")

  #通过name定位输入框   find_element_by_name("文本框name")

  #通过class定位输入框   find_element_by_class_name("文本框class")

  #通过xpath定位输入框   find_element_by_xpath("文本框xpath")

  #通过link_text定位元素  find_element_by_link_text(“文本内容”)

    1) . 向文本框中发送内容: find_element_by_id("文本框id").send_keys(“内容”)

    2) .退出浏览器:driver.quit()

    3) .清除文本框中的内容:find_element_by_id("文本框id").clear()

    4) .点击文本框: find_element_by_id("文本框id").click()

    5) .跳入指定框架中:driver.switch_to_frame(“要跳入的框架名字”)

    6) .跳出:driver.switch_to_default_content()

    7) .获取提示框中的内容:tishi=driver.switch_to_alert().text,提示框点击确定:tishi.accept()

    8).网页中上传文件:定位到文件上传按钮,定位到内容之后直接send_keys(“图片的路径”),如, find_element_by_id("上传文件按钮").send_keys(“图片的路径”)。(当然,上传的内容一定要符合上传要求,否则会报错)

五. Unittest框架:

  导入unittest包,Unittest框架中的三个方法:每次加载全部用例,然后随机分配执行某个用例,执行单个用例在方法处右击,执行多个则在main方法处右击运行全部用例

  

  setup(self):每个用例都会执行

  testxxx(self):用例步骤,必须在开头加test,否则不会执行用例

  tearDown(self):每个用例都会执行

六.HTMLTestRunner生成测试报告

 1>下载HTMLTestRunner.py文件,地址为:

 
  Windows平台:
  将下载的文件放入...\Python27\Lib 目录下
  Linux平台
  下需要先确定 python 的安装目录,打开终端,输入 python 命令进入 python 交互模式,通过 sys.path 可以查看本机 python 文件目录,以管理员身份HTMLTestRunner.py 文件考本到/usr/lib/python2.7/dist-packages/ 目录下

 

 方法一:(没试过,copy的找的代码)

 

   if __name__ == '__main__':
     suite = unittest.TestLoader().loadTestsFromTestCase(testCaseClassName) #定义一个单元测试容器
     filename = "./xxx.html" #定义个报告存放路径,支持相对路径
     f = file(filename,'wb') #结果写入HTML 文件
     runner = HTMLTestRunner.HTMLTestRunner(stream = f,title ='Report_title',description='Report_description',verbosity = 2) #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述
     runner.run(suite)    HTMLTestRunner 的 HTMLTestRunner 方法 跟 unittest.TextTestRunner 方法 一样,支持测试结果信息的收集。如下:    runner = HTMLTestRunner.HTMLTestRunner(stream = f,title ='Report_title',description='Report_description') #使用HTMLTestRunner配置参数,输出报告路径、报告标题、描述
   result = runner.run(suite)   result.success_count #运行成功的数目   result.testsRun #运行测试用例的总数    result.failure_count #运行失败的数目


方法二:
  


 

posted @ 2019-01-10 20:35  鲸鱼家的小姐姐i  阅读(247)  评论(0编辑  收藏  举报