Pythonスクリプト制御のWebDriver常用操作テスト対象の属性と内容を取得する

9598 ワード

テストケースシーン
テスト対象のコンテンツを取得することは、フロントエンド自動化テストで必ず使用される技術です.たとえば、ページにヒントが表示されているかどうかを判断するには、このヒントオブジェクトを見つけて、その中の文字を取得し、予想と比較する必要があります.Webdriverでelementを使用する.attribute()メソッドはdom要素(テストオブジェクト)のプロパティを取得します.
テストオブジェクトのプロパティを取得することで、オブジェクトの位置付けをよりよくすることができます.例えば、ページには多くのclassが「btn」のdivであり、title属性を持つdivの1つを位置決めする必要があります.selenium-webdriverはtitleを直接使用してオブジェクトを位置決めすることはサポートされていないため、classがbtnであるdivをすべて見つけてから、これらのdivを遍歴して、これらのdivのtitle属性を取得し、特定のtitle属性のdivを発見したら、このdivに戻るしかありません.Webdriverではelementを使用します.text()メソッドはdomノードのコンテンツ(text)を返すことができる.

Pythonスクリプト


テスト用HTMLコード:
    <html>

        <head>

            <meta http-equiv="content-type" content="text/html;charset=utf-8" />

            <title>attribute</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" />      

            <script type="text/javascript">

                $(document).ready(function(){

                    $('#tooltip').tooltip({"placement": "right"});

                });

            </script>

        </head>



        <body>

            <h3>attribute</h3>

            <div class="row-fluid">

                <div class="span6">     

                    <a id="tooltip" href="#" data-toggle="tooltip" title="watir-webdriver better than selenium-webdriver">hover to see tooltip</a>

                </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 15 



@author: Administrator

'''

from selenium import webdriver

from time import sleep

import os

if 'HTTP_PROXY' in os.environ:del os.environ['HTTP_PROXY']

# HTML 

dr = webdriver.Firefox()

file_path = 'file:///' + os.path.abspath('attribute.html')

dr.get(file_path)



tooltips = dr.find_element_by_id('tooltip') 

tooltip = tooltips.get_attribute('data-original-title')

print tooltip



print tooltips.text

comparation = 'Python-webdriver better than selenium-webdriver'



# tooltip , , case is pass。 , 

if tooltip == comparation:

    print 'case is pass'



sleep(5)

dr.quit()