【自动化测试】selenium+python基础

一、selenium简介

  • 免费的分布式的自动化测试工具;
  • 支持多平台:windows、linux、MAC ;
  • 支持多浏览器:ie、ff、safari、opera、chrome;
  • 多语言C、 java、ruby、python

二、前提条件

  • 安装浏览器(这里使用chrome);
  • 下载chrome driver,把chromedriver.exe存放在..\Google\Chrome\Application\文件夹下
  • 安装python
  • 安装selenium包

三、简单的自动化脚本示例

实现功能:打开浏览器=》输入百度网址搜索=》在搜索框输入python=》点击百度一下

# -*- coding: utf-8 -*-    
from selenium import webdriver

dri=webdriver.Chrome()
dri.set_window_size(1200, 1000)
dri.get("https://www.baidu.com")
dri.find_element_by_id("kw").send_keys("python")
dri.find_element_by_id("su").click()
dri.quit()

四、元素定位

元素定位是自动化测试的核心

定位方法主要有:(1)id ; (2) name; (3)class name ; (4) tag name ; (5) xpath ; (6) css selector ; (7) link test ; (8) partial link test ;

其中xpath定位应用比较多。

举例:
<input type="text" class="s_ipt" name="wd" id="kw" maxlength="100" autocomplete="off">

如要定位此input输入框,可以用以下几种方式:

  • id定位

    dri.find_element_by_id(“kw”).send_keys(“python”)

  • name定位

    dri.find_element_by_name(“wd”).send_keys(“python”)

  • tag name定位

    dri.find_element_by_tag_name(“kw”).send_keys(“python”)

  • class name定位

    dri.find_element_by_class_name(“s_ipt”).send_keys(“python”)

  • xpath定位

    dri.find_element_by_xpath(“//input[@id=”kw]”).send_keys(“python”)

  • css定位

    dri.find_element_by_css(“#kw”).send_keys(“python”)

如要定位此文字链接,可以用以下几种方式:

<a href="http://news.baidu.com" target="_blank" class="mnav">新闻</a>

  • link text定位

    dri.find_element_by_link_text(“新闻”).send_keys(“python”)

  • partial link test 定位

    dri.find_element_by_link_text(“新闻”).send_keys(“python”)

五、浏览器操作

  • 浏览器最大化

    dri.maxmize_window()

  • 设置浏览器宽度、高度

    dri.set_window_size(500,500)

  • 浏览器前进、后退

    dri.forward()
    dri.back()

六、操作测试对象

常用的方法有以下几种:

  • click 点击
  • send_keys 输入
  • submit 提交
  • clear 清除
  • text 获取元素的文本信息

七、获取属性值

element.get_attribute(“value”)

八、鼠标事件

ActionChains类:
需要先加载
from selenium.webdriver.common.action_chains import ActionChains

  • context_click() 右击

    ActionChains(dri).context_click(ppp).perform() #ppp是要操作的元素

  • double_click() 双击

  • drag_and_dorp() 拖动

猜你喜欢

转载自blog.csdn.net/qq_35061334/article/details/81544596