zoukankan      html  css  js  c++  java
  • 船长带你看书——《selenium2 python 自动化测试实战》(1)

      有很多selenium的教程,你没有从头看,当你看的时候已经很难跟上作者的节奏了。现在,你有机会再从头学一次了。从今天开始,船长会从最基本的知识开始,和大家一起学selenium。能不能跟着一起就看大家了。我们是按照虫师的书《selenium2 python 自动化测试实战》写的,没错,我看了多少,就会在这里和大家分享多少。还是老规矩,不明白的可以留言,现在有五六个人加了我好友,船长也尽力给大家解决问题了。还有要谢谢@川小姐姐的赞赏,你是第一个真正赞赏的,哈哈,谢谢!

            好今天我们来第一课,搭建selenium环境,只需两步:

    第一步:安装python2.7

    第二步:下载一个46版本的Firefox

            完事。不要问为什么用2.7,也别问能不能用最新的Firefox,按着我说的做,你就省去了大量的填坑的时间。

    下载了46版本的Firefox以后打开进行如下操作:

    选择附加组件,搜索下载FirePath和Firebug

    只要下载了这两个,定位那里基本上就可以略过了,因为这两个工具简直太特么好用了~如果你比我还懒,那你就再下载个Selenium Builder:

            这个东西简直了,按着他给的写就行了,基本上连想都不用想就写完了,幸好他也不是万能的,要不然用selenium搞自动化的人就混不下去了。

    准备就绪~~

     

    什么样的项目适合selenium自动化测试?

    1、任务测试明确,不会频繁变动
    2、每日构建后的测试验证
    3、比较频繁的回归测试
    4、软件系统界面稳定,变动少
    5、需要在多平台上运行的相同测试案例、组合遍历型的测试、大量的重复任务
    6、软件维护周期长
    7、项目进度压力不太大
    8、被测软件系统开发比较规范,能够保证系统的可测试性
    9、测试人员具备较强的编程能力
    

    第9条的意思是等你学会了selenium,你就“具备较强的编程能力”了。

    先给大家来个代码热热身,不懂没关系,看看就可以,selenium也就是这种东西:

    需要大家自己注册账号和密码。这是和讯博客的自动发帖代码,大家可以试一试,船长亲测可用:

    # coding: utf-8
    
    from selenium import webdriver
    from time import sleep
    
    driver = webdriver.Firefox()
    driver.get("http://blog.hexun.com/")
    driver.find_element_by_id("read_btn").click()
    driver.maximize_window()
    sleep(3)
    # driver.find_element_by_xpath(".//*[@id='hexunMember_nologinSetup_span_display_loginBTN']/a").click()
    # sleep(3)
    driver.find_element_by_id("username").send_keys("你注册的账号")
    driver.find_element_by_id("password").send_keys("你的密码")
    driver.find_element_by_xpath(".//*[@id='login12']/div/div/div/div[3]/input").click()
    sleep(3)
    # 点击发送博客
    driver.find_element_by_xpath(".//*[@id='login12']/div/div/div[3]/a[1]").click()
    sleep(3)
    curr = driver.current_window_handle
    all_curr = driver.window_handles
    for i in all_curr:
        if i != curr:
            driver.switch_to.window(i)
            sleep(2)
            driver.find_element_by_id("hxjy_blog_tit").send_keys(u"我的文章")
    
            driver.switch_to.frame(driver.find_element_by_xpath(".//*[@id='editorContainer']/iframe"))
            sleep(2)
    
            driver.find_element_by_xpath("html/body").click()
    
            driver.find_element_by_xpath("html/body").send_keys(u"童林")
            driver.switch_to.default_content()
            # 页面下拉
            js = "var q=document.documentElement.scrollTop=1000"
            driver.execute_script(js)
            driver.find_element_by_xpath(".//*[@id='hxjy_blog_label']").send_keys(u"测试")
            driver.find_element_by_xpath(".//*[@id='postarticle']").click()


    微信公众号关注“自动化测试实战”,和船长一起学selenium自动化测试
     
  • 相关阅读:
    JSDOM优化
    Firebug Console 与命令行全集
    input输入框和 pure框架中的 box-sizing 值问题
    模块化网站注意事项
    COOKIE
    鼠标滚动
    拖拽的基本函数(已有限制范围和修复浏览器默认行为以及磁性吸附、碰撞检测、改变层大小、模拟滚动条)
    app_can 的AJax异步,两个解决方案
    基于jQuery的message插件实现右下角弹出消息框
    C#后台讲字符串转化为计算公式
  • 原文地址:https://www.cnblogs.com/captainmeng/p/7837729.html
Copyright © 2011-2022 走看看