2017-12-08 1 views
-1

私はアプリケーションのコンボボックスを持っています(例:Play、Goなど)。このアプリケーションをクリックすると、特定のアプリケーション名ページに移動しました。 私がしたいのは、アプリケーションをクリックしたときにチェックするコードを書くことです。このアプリケーションでは、特定のページに移動します。私はこのためにロボットフレームワークを使いたいと思っています。私はアプリケーションとページが同じであることを主張したいと思います。私は既に持っている何ロボットフレームワークのリストコンテナ(Python)

[Documentation]   checking search result 
click element      ${searchfield_css} 
click element      ${inside_searchfield} 
input text       ${appFilter_id}       
click element      ${Play}      ${string} 
wait until element contains   ${app_details_title}    Play 

しかし、このコードはのみ1つのアプリを選択し、一つのサイトにそれを比較しています。 このケースの汎用コードを作成します。

私にとって最悪のことは、すべてのアプリケーションを保持するコンテナを見つけることです。私はアプリケーションをマークした。 HTML Code

私が間違っているときに私を修正:

  1. を私はすべてのアプリケーションのリスト(HTMLコンテナ)
  2. のリスト全体のロケータを持っている必要がありますそして、私はこのコンテナの中身をチェックしたいです私が選択したアプリケーションがある場合は、それをクリックした後、私は移動したページのタイトルでアプリケーションの名前をアサートしたい(同じと仮定する)
+0

私はあなたに投票した人ではありませんが、理由を説明できるかもしれません。あなたが尋ねていることは(翻訳によるものかもしれない)あまり明確ではなく、コードは「最小限で完全で検証可能な例」ではなく、あなたの質問を読むだけで、コードを書く人を探しているようです。これはこのサイトの目的ではありません。 –

+0

\私の質問は、私がチェックする必要があるすべてのアプリケーションの魔法使いとhtmlのコンテナ内のループを行う方法です? – ranger

+0

私はすでにこのコンテナを見つけて変数として保存していますが、ループについては何も知らないのです。 – ranger

答えて

0

他の多くのアプローチとは対照的に、 Webを扱うロボットフレームワークの要素我々は最初に親を選択してから、その子を循環させます。通常は、cssmat-list-item)またはxpath//*[@role="listitem"])の特性を使用して直接子供のリストを作成します(Get Webelements)。 (あなたが本当に欲しいのはイメージに隠されていると思われますが)

あなたのウェブ要素のリストがあるとき、それらをループするのは難しくありません。このスタックオーバーフローanswerでは、この例では、上記のGet Webelementsキーワードを使用して発見された:あなたは、Pythonに慣れている場合

@{elems} Get Webelements some locator 
:FOR ${elem} IN @{elems} 
\ ${text} Get Text ${elem} 

が、親を選んで、それの子を介して実行することが可能です。このスタックオーバーフローでは、answerこのアプローチをより詳細に説明します。これは、カスタムRobot Frameworkキーワードに変換することができます。詳細については、Robot Frameworkのユーザーガイド(Creating test libraries)を参照してください。

関連する問題