Python+Selenium+Chrome初级自动化操作

发表于:2017-8-24 13:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:文刀文刀    来源:51Testing软件测试网采编

  例1.
  #coding=utf-8
  from selenium import webdriver
  import os,time
  chromedriver = "C:\Users\li.liu\AppData\Local\Google\Chrome\chromedriver.exe"
  '''
  environ是一个字符串所对应环境的映像对象;
  os.environ.keys()  主目录下所有的key
  os.environ 显示key+内容。
  windows:
  · os.environ['HOMEPATH']:当前用户主目录。
  os.environ['TEMP']:临时目录路径。
  os.environ[PATHEXT']:可执行文件。
  os.environ['SYSTEMROOT']:系统主目录。
  os.environ['LOGONSERVER']:机器名。
  os.environ['PROMPT']:设置提示符。
  linux:
  os.environ['USER']:当前使用用户。
  os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。
  os.environ['SHELL']:使用shell的类型。
  os.environ['LAN']:使用的语言。
  os.environ['SSH_AUTH_SOCK']:ssh的执行路径。
  '''
  os.environ["webdriver.chrome.driver"] = chromedriver
  driver =  webdriver.Chrome(chromedriver)
  driver.get("http://baidu.com")
  time.sleep(3)
  print (u'窗口最大化')
  driver.maximize_window()
  a=driver.title
  print a
  time.sleep(1)
  driver.find_element_by_id('kw').send_keys('selenium')
  driver.find_element_by_id('su').click()
  driver.quit()
   
  例2.
  #coding=utf-8
  from selenium import webdriver
  import os,time,unittest
  import log
  import logging
  import traceback
  logger = log.Logger('e:/1/web_log.log',clevel = logging.DEBUG,Flevel = logging.INFO)
  def f(n):
      logger.info(n)
      print n
      
      
  class baidu(unittest.TestCase):
      def setUp(self):
          
          self.chromedriver='C:\Users\li.liu\AppData\Local\Google\Chrome\chromedriver.exe'
          os.environ['webdriver.chrome.driver']=self.chromedriver
          self.driver=webdriver.Chrome(self.chromedriver)
          print u'驱动定义完成'
      def test_baidu_search(self):
          u"""百度搜索"""
          
          driver = self.driver
          f(u'打开百度')
          driver.maximize_window()
          driver.get('http://baidu.com')
          time.sleep(2)
          print u'打开另一个网址'
          driver.get('http://news.baidu.com')
          print u'窗口最大化'
          driver.maximize_window()
          time.sleep(1)
          print u'返回上一个网页'
          driver.back()
          time.sleep(3)
          driver.forward()
          time.sleep(2)
          driver.back()
          time.sleep(1)
          driver.close()
          driver.quit()
      def test_baidu_set(self):
          driver = self.driver
          driver.get('http://baidu.com')
          time.sleep(3)        
          driver.find_element_by_id('kw').send_keys(u'测试')
          driver.find_element_by_id('su').click()
          time.sleep(2)
          driver.find_element_by_id('kw1').clear()
          driver.find_element_by_id('kw').send_keys(u'测试用例')
          time.sleep(3)
          print u'关闭浏览器'
          driver.close()
          print u'退出浏览器服务'
          driver.quit()    
  if __name__=="__main__":
      
      unittest.main()
   
  a.浏览器开发者模式
  FireFox——>Firebug前端工具,而对于Chrome浏览器——>右键选择‘审查元素’或者快捷键 F12 ,即可看到一些开发写的code,这对于获取测试对象(测试控件)的某些属性很有帮助。
  b.浏览器基本操作
  浏览器窗口的最大化以及大小设置,以及前进,后退 
  这里有几点注意: 
  XXXX.get(URL)转到URL地址 
  time.sleep(ns) 等待时间 
  XXXX.back( ) 返回到上一个浏览器 
  XXXX.forward() 前进到下一个浏览器 
  XXXX.set_window_size(width,height) width,height 我们可以自己根据需要设置。 
  XXXX.maximize() 窗口最大化 
  XXXX.title 得到浏览器的标题 
  XXXX.quit( ) 浏览器退出 
  XXXX.close( ) 浏览器关闭
  import time —>保证脚本运行的稳定性 
  browser=webdriver.Chrome() —>调用Chrome浏览器 
  使用print()语句可以查看脚本是否运行正确
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号