Python脚本控制的WebDriver 常用操作 <十一> 操作测试对象

时间:2023-03-08 22:54:15
Python脚本控制的WebDriver 常用操作 <十一> 操作测试对象

下面将使用WebDriver来模拟键盘的输入操作,以及复习上节的层对象操作

测试用例场景


  定位到具体的对象后,我们就可以对这个对象进行具体的操作,比如先前已经看到过的点击操作(click)。一般来说,webdriver中比较常用的操作对象的方法有下面几个

  • click 点击对象
  • send_keys 在对象上模拟按键输入
  • clear 清除对象的内容,如果可以的话

Python脚本


测试用HTML代码:

    <html>
        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>Level Locate</title>
            <script type="text/javascript" async="" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />
        </head>
        <body>
            <h3>Level locate</h3>
            <div class="span3">
                <div class="well">
                    <div class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Link1</a>
                        <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel" id="dropdown1" >
                            <li><a tabindex="-1" href="#">Action</a></li>
                            <li><a tabindex="-1" href="#">Another action</a></li>
                            <li><a tabindex="-1" href="#">Something else here</a></li>
                            <li class="divider"></li>
                            <li><a tabindex="-1" href="#">Separated link</a></li>
                        </ul>
                    </div>
                </div>
            </div>
            <div class="span3">
                <div class="well">
                    <div class="dropdown">
                        <a class="dropdown-toggle" data-toggle="dropdown" href="#">Link2</a>
                        <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel" >
                            <li><a tabindex="-1" href="#">Action</a></li>
                            <li><a tabindex="-1" href="#">Another action</a></li>
                            <li><a tabindex="-1" href="#">Something else here</a></li>
                            <li class="divider"></li>
                            <li><a tabindex="-1" href="#">Separated link</a></li>
                        </ul>
                    </div>
                </div>
            </div>
            <div class="span3">
                <div class="well">
                name:<input style="width: 100px" type="text" name="firstname">
                </div>
            </div>
        </body>
     <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    </html>

测试用Python代码:

# coding=gbk
'''
Created on 2013年12月9日

@author: Administrator
'''
from selenium import webdriver
from time import sleep
import os

dr = webdriver.Firefox()
file_path = 'file:///' + os.path.abspath('operator_elemnet.html')
dr.get(file_path)

#单击link触发ajax
dr.find_element_by_link_text('Link1').click()
sleep(5)
dr.find_element_by_link_text('Link1').click()

#send_keys
element = dr.find_element_by_name('firstname')
element.send_keys('something')
sleep(5)

element.clear()
sleep(5)

dr.quit()