Ошибка в Selenium Python Script - PullRequest
       14

Ошибка в Selenium Python Script

1 голос
/ 11 января 2011

Я пытаюсь освоить как Python, так и Selenium RC, и у меня возникли некоторые трудности с анализом следующего примера Selenium Python Script. Я исправил все следующие ошибки кода, кроме одной:

from selenium import selenium
import unittest

class SignUpTask(unittest.TestCase):
    """ The following needs to have the issues corrected to make 
        it run. When the run is completed the answer for question 
        2 will be shown"""

def setUp(self):
    self.selenium = selenium("localhost", 4444, "*firefox",
            "http://www.google.com/")
    self.selenium.start()


def test_that_will_print_out_a_url_as_answer_for_task(sel):
    self.selenium.open("/")
    self.selenium.click("link=Web QA")
    self.selenium.wait_for_page_to_load("30000")
    self.selenium.click("link=Get Involved")
    self.selenium.wait_for_page_to_load("30000")
    url = self.selenium.get_attribute("//ol/li[5]/a@href")
    print """The Url below needs to be entered as the answer 
             for Question 2) in the signup task"""
    print "URL is: %s" % url

def tearDown(self):
    self.selenium.stop()

if __name__ == "__main__":
    unittest.main()

После запуска вышеуказанного скрипта через Selenium RC я получаю следующую ошибку:


ОШИБКА: test_that_will_print_out_a_url_as_answer_for_task ( main .SignUpTask) Traceback (последний вызов был последним): Файл "/Users/eanderson/Desktop/TestFiles/Selenium1.py", строка 16, в test_that_will_print_out_a_url_as_answer_for_task self.selenium.open ( "/") NameError: глобальное имя 'self' не определено

Выполнен 1 тест за 24,577 с

ошибка (ошибки = 1)


Кто-нибудь там понимает, почему я получаю

NameError: глобальное имя 'self' не определено

ошибка в строке 16 и может помочь мне устранить эту ошибку, чтобы мой скрипт мог анализировать без ошибок?

Ответы [ 3 ]

3 голосов
/ 11 января 2011

def test_that_will_print_out_a_url_as_answer_for_task( Сель ): Это должно было быть self.

1 голос
/ 12 марта 2011

Первый шаг в отладке такой проблемы - предположить, что сообщение об ошибке говорит правду.Посмотри на это буквально.Это говорит, что "я не определен".Так спросите себя, почему это не определено? .На самом деле может быть только несколько причин: либо вы действительно не определили это, либо вы думаете вы определили это, но не сделали (что означает опечатку, или вы определили это в неправильной области)

Итак, где определяется «я»?В случае с питоном это передается в качестве аргумента.Итак, посмотрите на список аргументов для этой функции.Когда вы это сделаете, вы заметите, что вы написали self как sel.

0 голосов
/ 11 января 2011

Может быть, "sel" не хватает f?

def test_that_will_print_out_a_url_as_answer_for_task(sel):

...