51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1976|回复: 1
打印 上一主题 下一主题

Python Selenium自动化基础实现自动化的几个步骤

[复制链接]
  • TA的每日心情
    无聊
    3 天前
  • 签到天数: 1019 天

    连续签到: 3 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2020-10-29 10:01:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本文以一个页面例子说明运行自动化脚本需要哪些步骤及实现过程中的报错汇总  具体实现功能:
      ·登录操作
      ·进入三级菜单
      ·新建页面输入文本框值,输入时间,进入iframe,点击提交按钮
      一、 自动化实现步骤
      1. 首先需要导入模块名
      有些功能selenium框架已经封装好了,只需要我们直接调用就好
      常用的导入功能:
      from selenium import webdriver   #导入webdriver驱动
      from time import sleep  #导入sleep函数
      from selenium.webdriver.common.action_chains import ActionChains  #导入ActionChains?函数
      from selenium.webdriver.support.select import Select#导入select函数
      ·webdriver驱动:通过webdriver驱动来调用浏览器
      ·sleep函数:正常网页加载过程中,如果不通过时间等待再点击元素是无法定位到元素,从而报错,sleep函数是自动化过程中经常用到的功能
      ·ActionChains 函数:ActionChains 是模拟鼠标事件的函数
      2. 启动浏览器
      所有的自动化操作都是基于页面打开的前提下,所以我们的首要步骤显示要启动浏览器。
      在Selenium 中可以启动任何浏览器,前提是需要下载相应的浏览器驱动
      这里以chrom浏览器为例
      代码实现:
    1. chrome_options = webdriver.ChromeOptions()

    2.   chrome_options.add_experimental_option("excludeSwitches", ['enable-automation'])

    3.   driver = webdriver.Chrome(options=chrome_options)

    4.   driver.get("http://127.0.0.1:8080/portal-web/framework/login?")

    5.   driver.maximize_window()
    复制代码
    3. 功能实现  3.1 元素定位
      刚接触自动化的同学可能都被元素定位搞的晕头转向
      元素定位有八大方式(id、tagname、class、xpath等等),到底使用哪一种呢
      所有的元素定位方式我都用到了,还是不能定位到元素这到底是什么原因呢
      刚开始我也是这样,经过一段时间的摸索发现原来是这样~~
      ·元素定位-id,id是唯一,通过id可定位任何元素
      ·元素定位-xpath定位:其他定位方式都不会,只要会xpath就能搞定定位问题
      ·定位不到:考虑时间、窗体、ifame等因素
      3.2 元素方法
      1) click()-单击(最常用)
    1.  driver.find_element_by_id('dlu').click()
    复制代码
    2) send_keys  文本框输入内容

    1.  driver.find_element_by_id('password').send_keys('11qq!!')
    复制代码
     实现功能:登录功能
    1. driver.find_element_by_name("username").send_keys('b')#定位用户名,输入值

    2.   driver.find_element_by_id('password').send_keys('11qq!!')#定位密码,输入值

    3.   driver.find_element_by_id('dlu').click()#点击登录按钮
    复制代码
    3) double_click  双击
    1. ActionChains(driver).double_click(ul1).perform()  
    复制代码
    实现功能:双击进入三级菜单
    1. ul1=driver.find_element_by_xpath("//*[text()='质量基础']")

    2.   ActionChains(driver).double_click(ul1).perform()#双击一级菜单

    3.   ul2=driver.find_element_by_xpath("//*[text()='供应商产品质量维持认证']")

    4.   ActionChains(driver).double_click(ul2).perform()#双击二级菜单

    5.   ul3=driver.find_element_by_xpath("//*[text()='供应商产品质量维持认证计划']")

    6.   ActionChains(driver).double_click(ul3).perform()#双击三级菜单

    7.   sleep(3)
    复制代码








    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-9-17 03:40 , Processed in 0.068130 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表