zoukankan      html  css  js  c++  java
  • 轻松自动化---selenium-webdriver(python) (一)

    https://www.cnblogs.com/fnng/p/3160606.html

     http://www.testclass.net/  测试教程网,专业的selenium 学习网站。

    为什么选python

    之前的菜鸟系列是基于java的,一年没学其实也忘的差不多了,目前所测的产品部分也是python写的,而且团队也在推广python ,其实就测试人员来说,python也相当受欢迎。易学,易用。翻翻各测试招聘,python出现的概率也颇高。

     

    平台搭建:

    前一篇中已经介绍,如果你也想体验一下自动化魅力,那就赶快搭建自己的环境吧~

    selenium + python自动化测试环境搭建

     

    第一个脚本:

    下面看看python 穿上selenium webdriver 是多么的性感:

    复制代码
    # coding = utf-8
    
    from selenium import webdriver
    
    
    browser = webdriver.Firefox()
    
    browser.get("http://www.baidu.com")
    browser.find_element_by_id("kw").send_keys("selenium")
    browser.find_element_by_id("su").click()
    browser.quit()
    复制代码

    怎么样?相信不懂代码的人都能看懂,但还是请容我在这里啰嗦一下每一句的含义:

     

    # coding = utf-8

    可加可不加,开发人员喜欢加一下,防止乱码嘛。

     

    from selenium import webdriver

    要想使用seleniumwebdriver 里的函数,首先把包导进来嘛

     

    browser = webdriver.Firefox() 

    我们需要操控哪个浏览器呢?Firefox ,当然也可以换成Ie 或 Chrome browser可以随便取,但后面要用它操纵各种函数执行。

     

    browser.find_element_by_id("kw").send_keys("selenium")

    一个控件有若干属性id name、(也可以用其它方式定位),百度输入框的id kw ,我要在输入框里输入 selenium 。多自然语言呀!

     

    browser.find_element_by_id("su").click()

    搜索的按钮的id su ,我需要点一下按钮( click() )。

     

    browser.quit()

    退出并关闭窗口的每一个相关的驱动程序,它还有个类似的表弟。

    browser.close()

    关闭当前窗口 ,用哪个看你的需求了。

     

    添加休眠

    什么?你说刚才太快没看清浏览器的操作过程。请time出马,让他跑慢点。

     

    复制代码
    # coding = utf-8
    
    from selenium import webdriver
    import  time  #调入time函数
    
    browser = webdriver.Firefox()
    
    browser.get("http://www.baidu.com")
    time.sleep(0.3)  #休眠0.3秒
    browser.find_element_by_id("kw").send_keys("selenium")
    browser.find_element_by_id("su").click()
    time.sleep(3)  # 休眠3秒
    browser.quit()
    复制代码

     

    time.sleep() 函数随意插,哪里太快插哪里,再也不用担心看不清脚本的运行过程了。

     

    其实,这个函数的真正用途不是给我们看脚本的运行过程的,有时候网络原因,或页面加载慢。假设搜索框输入框输入了selenium ,搜索按钮还没加载出来,那么脚本就报错。在适当的位置加入time.sleep()有助于减少网络原因造成的脚本执行失败;

     

    输出

    什么?在运行脚本的时候,上了个厕所,你都不知道刚才的脚本是否运行成功了。把刚才访问页面的title 打印出来。

     

    复制代码
    # coding = utf-8
    
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('http://www.baidu.com')
    print driver.title  # 把页面title 打印出来
    driver.quit()
    复制代码

     

    虽然我没看到脚本的执行过程,但我在执行结果里看到了

    >>> 
    百度一下,你就知道

    说明页面正确被我打开了。

  • 相关阅读:
    pat 甲级 1065. A+B and C (64bit) (20)
    pat 甲级 1064. Complete Binary Search Tree (30)
    pat 甲级 1010. Radix (25)
    pat 甲级 1009. Product of Polynomials (25)
    pat 甲级 1056. Mice and Rice (25)
    pat 甲级 1078. Hashing (25)
    pat 甲级 1080. Graduate Admission (30)
    pat 甲级 团体天梯 L3-004. 肿瘤诊断
    pat 甲级 1099. Build A Binary Search Tree (30)
    Codeforce 672B. Different is Good
  • 原文地址:https://www.cnblogs.com/yuer20180726/p/10813315.html
Copyright © 2011-2022 走看看