Selenium Python脚本中的错误

时间:2011-01-11 07:46:43

标签: python error-handling selenium selenium-rc

我正试图搞砸Python和Selenium RC,并且在解析下面的示例Selenium Python脚本时遇到了一些困难。除了一个之外,我已经解决了以下所有代码的错误:

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(主要 .SignUpTask) Traceback(最近一次调用最后一次):   在test_that_will_print_out_a_url_as_answer_for_task中输入文件“/Users/eanderson/Desktop/TestFiles/Selenium1.py”,第16行     self.selenium.open( “/”) NameError:未定义全局名称“self”

在24.577s中进行1次测试

失败(错误= 1)


有没有人明白为什么我会得到

  

NameError:未定义全局名称“self”

第16行的

错误可以帮助我缓解此错误,以便我的脚本可以无误地解析?

3 个答案:

答案 0 :(得分:3)

def test_that_will_print_out_a_url_as_answer_for_task( SEL ): 应该是self

答案 1 :(得分:1)

调试这样的问题的第一步是假设错误消息说实话。从字面上看它。它说“自我没有定义”。所以问问自己,为什么不定义?。实际上只有几个原因:要么你真的没有定义它,要么你认为你定义它但没有(这意味着一个错字,或者你在错误中定义它)范围)

那么,“自我”定义在哪里?在python的情况下,它作为参数传入。所以,看一下该函数的参数列表。当您这样做时,您会注意到您将self拼写为sel

答案 2 :(得分:0)

可能是“sel”缺少f?

def test_that_will_print_out_a_url_as_answer_for_task(sel):