2

Djangoのテスト開発チュートリアルを行っています。 http://www.tdd-django-tutorial.com/tutorial/1/

テストを実行すると、find_element_by_link_textで問題が発生します。エラーは次のことを示しています。

find_element_by_link_text - TypeError: Object of type 'WebElement' has no len()

失敗しているテストの部分はこれです:

    polls_links = self.browser.find_element_by_link_text('Polls')
    self.assertEquals(len(polls_links), 2)

これらの行を削除すると、テストは正しく機能し、管理者に投票モデルが追加されます。管理サイトでは、Seleniumテスト中に、「Polls」というテキストを含む2つのリンクがあります。

問題は、それらを認識していないことではないようです。問題は、find_element_by_link_textが返すもののようです...わかりません。

誰かが私を正しい方向に向けることができますか?私はいくつかの調査を行い、Firefox用のSeleniumドライバーに関係しているようですが、それを解決することができませんでした。

4

2 に答える 2

9

これは

polls_links = self.browser.find_elements_by_link_text('Polls')

すなわちelements(とs)ではなくelement

于 2013-01-30T22:37:23.663 に答える
1

この行はあなたの問題です。

polls_links = self.browser.find_element_by_link_text('Polls')

.text要素自体ではなく、要素のテキストを返すメソッド を追加する必要があります。

polls_links = self.browser.find_element_by_link_text('Polls').text
于 2012-11-30T18:36:51.097 に答える