zoukankan      html  css  js  c++  java
  • selenium初次接触-1

     10月30日

    web自动化测试的两种方式:模拟整个http客户端(压力测试,取代浏览器和人,直接和服务端进行交互),模拟用户操作(功能测试,取代人)

    selenium是自动化浏览器的工具包,可以用于各个方面:web测试自动化,日常的web操作

    是web应用的源头(浏览器)驱动应用

    使用非常广泛:主流浏览器厂商的支持

    控制成本、提高效率

    selenium工具包:RC(remote control server,selenium1);web driver (selenium 2、3),selenium IDE 图形界面工具;

    selenium Grid:可以用来在多台机器上同时执行selenium自动测试,要执行的测试用例非常多,其中某些测试非常耗时

    HTML

    HTML是用户创建网页的标准标记语言

    HTML是超文本标记语言(Hyper Text Markup Language)

    HTML不是一种编程语言,而是一种标记语言(mark language)

    是用来描述网页的一种语言

    是HTML页面由HTML元素构建而成的

    HTML元素由标签表示‘

    浏览器分析HTML从而呈现页面的内容(渲染render)

    HTML元素是用标签来表示的:尖括号包围元素名称形成了html标签,HTML标签通常是成对出现的,比如<b>和</b>,标签对中的第一个标签是开始标签,第二个标签是结束标签,有的标签里面可以包含其他的标签,比如html,head、body等

    HTML文档:以<!DOCTYPE>声明开头,以<html>开始,以</html>结尾,可见部分内容在<body>和</body>之间

    标题和段落

    HTML标题:标题是通过<h1>-<h6>等标签进行定义的,<h1>定义最大的标题,<h6>定义最小的标题

    段落:<p>

    html在线测试工具:http://www.w3school.com.cn/tiy/t.asp?f=html_intro

    http://www.w3school.com.cn/html/html_headings.asp

    HTML元素的属性:属性为HTML元素提供附件的信息

    例子:HTML链接

    由<a>标签定义。链接的地址在href属性中指定

    <a href="http://www.w3school.com.cn/">Visit W3School</a>

    属性总是在HTML元素的开始标签中规定,属性总是以名称/值对的形式出现,比如:name = “value”

    一个元素可以有很多的属性:<a id ='baidulink' href="http://www.baidu.com" style = "color:red"> This is a link</a>

    id 是非常特殊的属性,它用来唯一的标志这个元素

    标准元素都有其规定的合法属性

    样式(style)属性:style属性告诉浏览器,元素显示的特点,比如说,背景色、前景色、字体、尺寸、缩进、上下左右间距等

    style属性提供了一种改变所有HTML元素的样式的通用方法,

    <tagname style:"property1:value1;property2:valuse2;">

    <p style = "font-family:verdana;color:red">

    一些常用的元素:img、table、div

    WebDriver原理 :selenium WebDriver提供了web自动化的各种语言调用接口库,通过各种浏览器的驱动(web drive)来驱动浏览器

    可以有多个子属性和值,属性之间用;隔开,包括很多控制显示特性的:背景颜色,字体、颜色和尺寸,文本对齐

    版本与支持

    selenium WebDriver 包括selenium 2 和selenium 3:调用接口几乎没有区别,selenium2 是selenium组织帮各种浏览器写web driver的,selenium3 里面的web driver是由各个浏览器厂商自己提供的,selenium3 的自动化效率更高

    selenium WebDriver支持的浏览器众多

    安装:

    客户端库的安装:支持各种语言:java 、csharp、python、ruby、php、js、perl,python:pip install selenium   (python安装:https://github.com/jcyrss/songqin-testdev/blob/master/python/python_install.md)

    各浏览器driver:下载最新浏览器

    一个例子

    百度输入 博客园 ,进行搜索

    WebDriver 实例对象

    WebElement 实例对象

    find_element_by_XXX 查找对象

    重点:找到元素(根据浏览器deverlop tool查看元素id),操作元素

    代码

    form selenium import webdirver

    #指定是chrome的驱动

    #执行到这里的时候Selenium会去到指定的路径将chrome dirver 程序运行起来

    driver = webdriver.Chrome(r"d:chromedriver.exe路径”)

    #get方法打开指定网址

    driver.get('http://www.baidu.com')

    #查找到那个搜索输入栏网页元素,返回一个表示该元素的WebElement对象

    element_keyword = driver.find_element_by_id(''kw")

    #输入字符

    element_keyword.send_keys(u'博客园‘)

    #找到搜索按钮

    element_search_button = driver.find_element_by_id(“su”)

    #点击该元素

    element_search_button.click()

    #********************************************

    import time

    time.sleep(2)       加上时间,因为浏览器运行需要时间,程序的执行较快,可能页面加载不出来造成找不到匹配页面

    ret = driver.find_element_by_id('1')

    print(ret.text)

    if ret.text.startswitch('博客园-开发者的网上家园...'):

      print (‘测试通过’)

    else:

      print ('测试不通过’)

    #*****************************************************

    #最后,driver.quit让浏览器和驱动进程一起退出,不然会有好几个实例一起运行

    driver.quit()

    Selenium 给了我们操作页面的接口

    UI自动化要素:模拟用户的输入,获取检查界面输出的内容

  • 相关阅读:
    keras: 在构建LSTM模型时,使用变长序列的方法
    keras:Exception: Error when checking model target
    Scipy.sparse矩阵的存储,读取和转化为稠密矩阵
    Feature Selection 其一 —— Filter Approach
    超限学习机 (Extreme Learning Machine, ELM) 学习笔记 (一)
    [IR课程笔记]Web search
    [数据挖掘课程笔记]无监督学习——聚类(clustering)
    [IR课程笔记]Query Refinement and Relevance Feedback
    [IR课程笔记]Hyperlink-Induced Topic Search(HITS)
    DIARY10-05
  • 原文地址:https://www.cnblogs.com/hyzhang/p/7763069.html
Copyright © 2011-2022 走看看