2016.9.20 automationまとめ

1664 ワード

本年はselenium、pythonでautomationのまとめをしてみましょう.小さな点ばかりです.
  • 親クラスのtext値を取得することによってその子クラスのtext値を得る:parent_ele.textサブエレメントのtext値が空の場合、取得したtext文字列値は空のサブエレメント保持値プレースホルダではないことに注意してください.以下に示すように、trの下には全部で3つのtdがあり、3つのtdの値を得るべきであるが、2番目のtdの値が空であると仮定すると、合計で得られるtext値の長さは2である.したがって,この方法を用いて各tdの値を取得する場合は注意しなければならない.例:print context=row_element.text print(len(context.split('')))

  • Console:
    11233
    1 day
    2 java

    code:
    
      
        11322 
         
        
    1 day
  • で隠されている要素は、existsですがtextで得られた値が空です.
  • seleniumを使用して取得した要素のtextは文字列であるため、所望の値を比較する際に値のデータ型に注意する.
  • 位置決め要素の知識をまとめます.テスト対象の多くが動的idまたはclassを使用しているか、一意の属性が位置決めできない場合はautomationに困難をもたらします.だから兄弟を通じて自分を見つけたり、父を通じて自分を見つけたりするなどのテクニックを身につけなければなりません.

  • starts-with、指定した属性接頭辞の要素を検索
    xpath='//*[starts-with(@id,"reservation")]'
    

    親要素から子要素を取得
    name_xpath = './td[1]'
    parent.getElementByXpath(name_xpath)
    

    複数の属性で要素を配置
    xpath='//*[starts-with(@id,"vcacPagingToolbar") and @class="x-box-inner"]/div/div[last()]/../a[3]'
    

    .../現在のエレメントの親を検索し、兄弟または子孫がエレメントを配置します.
    delete_detail_hidden = '//table[@aria-hidden="true"]//*[text()="Cannot delete reservation policy:"]/../../../tr[2]/td/div'
    

    xpathの述語
    /bookstore/book[last()]      bookstore          book   。 
    /bookstore/book[last()-1]      bookstore           book   。 
    /bookstore/book[position()<3]            bookstore         book   。 
    

    未完待续...