browser.find_elements_by_css_selector('input[type=text]')
のようなコールは、DOMを反映する順序で常にWebElement
のオブジェクトを返しますか?find_elements_by_ *関数は常にDOMの順序を反映しますか?
私はリストに似たアプリケーションがあり、フォーム要素がページに表示される順序(動的に追加される)が重要であり、おそらく私は肛門性器ですが、この行動を部分的にテストしているからです私のテストスイートの
N.B:さまざまなブラウザでテストを実行する可能性があります。
私のテスト(unittest
とPythonの):私の経験で
def test_titles_should_appear_in_the_order_they_are_entered(self):
titles = ['title 1', 'title 2', 'title 3']
for title in titles:
self._type_new_title(title).send_keys(Keys.RETURN)
inputs = self.browser.find_elements_by_css_selector('input[type=text].title')
# assumption: inputs will always reflect the DOM order, top to bottom
input_vals = [i.get_attribute('value') for i in inputs]
self.assertEqual(input_vals, titles)
私は偶然、返された要素の順序がDOM位置の順序と一致することを見たことがあります。そうでなければ、要素のリストを作成し、 'list [0]'を指定すると、それは時間の経過とともに同じ要素を取得することが本当に幸運なことです。 –