“如何修复python构建错误”;ValueError:在<;类别'__主要的;

“如何修复python构建错误”;ValueError:在<;类别'__主要的;,python,unit-testing,python-2.7,Python,Unit Testing,Python 2.7,我的python脚本如下所示: ========================================== class ExampleTestCase(unittest.TestCase): capabilities = None def setUp(self): self.driver = webdriver.Remote(desired_capabilities={ "browserName": broswer, "platform": platform

我的python脚本如下所示:

==========================================

class ExampleTestCase(unittest.TestCase):
    capabilities = None

def setUp(self):
    self.driver = webdriver.Remote(desired_capabilities={ "browserName": broswer,      "platform": platform, "node": node })

def test_example(self):
    self.driver.get("www.360logica.com")
    self.assertEqual(self.driver.title, "360logica")

def tearDown(self):
    self.driver.quit()

if __name__ == "__main__":
    #unittest.main()
    args = sys.argv
    port = args[1]
    platform = args[2]
    broswer = args[3]
    suite = unittest.TestSuite()
    suite.addTest(ExampleTestCase("test_example"))
    runner = XMLTestRunner(file('results_ExampleTestCase_%s.xml' % (broswer), "w"))
    runner.run(suite)
==============================================

class ExampleTestCase(unittest.TestCase):
    capabilities = None

def setUp(self):
    self.driver = webdriver.Remote(desired_capabilities={ "browserName": broswer,      "platform": platform, "node": node })

def test_example(self):
    self.driver.get("www.360logica.com")
    self.assertEqual(self.driver.title, "360logica")

def tearDown(self):
    self.driver.quit()

if __name__ == "__main__":
    #unittest.main()
    args = sys.argv
    port = args[1]
    platform = args[2]
    broswer = args[3]
    suite = unittest.TestSuite()
    suite.addTest(ExampleTestCase("test_example"))
    runner = XMLTestRunner(file('results_ExampleTestCase_%s.xml' % (broswer), "w"))
    runner.run(suite)
运行命令的方式为:

$ ./python.exe Grid_1.py 5555 WINDOW firefox
==============================================

class ExampleTestCase(unittest.TestCase):
    capabilities = None

def setUp(self):
    self.driver = webdriver.Remote(desired_capabilities={ "browserName": broswer,      "platform": platform, "node": node })

def test_example(self):
    self.driver.get("www.360logica.com")
    self.assertEqual(self.driver.title, "360logica")

def tearDown(self):
    self.driver.quit()

if __name__ == "__main__":
    #unittest.main()
    args = sys.argv
    port = args[1]
    platform = args[2]
    broswer = args[3]
    suite = unittest.TestSuite()
    suite.addTest(ExampleTestCase("test_example"))
    runner = XMLTestRunner(file('results_ExampleTestCase_%s.xml' % (broswer), "w"))
    runner.run(suite)
生成错误日志为:

$ ./python.exe Grid_1.py 5555 WINDOW firefox
Traceback (most recent call last):
      File "Grid_1.py", line 31, in <module>
        suite.addTest(ExampleTestCase("test_example"))
      File "C:\Python27\Lib\unittest\case.py", line 191, in __init__
        (self.__class__, methodName))
ValueError: no such test method in <class '__main__.ExampleTestCase'>: test_example
$./python.exe Grid\u 1.py 5555窗口firefox
回溯(最近一次呼叫最后一次):
文件“Grid_1.py”,第31行,在
addTest(示例testcase(“test_示例”))
文件“C:\Python27\Lib\unittest\case.py”,第191行,在\uuu init中__
(self.\uuuuu类\uuuuuu,方法名))
ValueError:示例中没有此类测试方法
===================================================

class ExampleTestCase(unittest.TestCase):
    capabilities = None

def setUp(self):
    self.driver = webdriver.Remote(desired_capabilities={ "browserName": broswer,      "platform": platform, "node": node })

def test_example(self):
    self.driver.get("www.360logica.com")
    self.assertEqual(self.driver.title, "360logica")

def tearDown(self):
    self.driver.quit()

if __name__ == "__main__":
    #unittest.main()
    args = sys.argv
    port = args[1]
    platform = args[2]
    broswer = args[3]
    suite = unittest.TestSuite()
    suite.addTest(ExampleTestCase("test_example"))
    runner = XMLTestRunner(file('results_ExampleTestCase_%s.xml' % (broswer), "w"))
    runner.run(suite)

请帮帮我。我对那个构建错误非常头疼,不知道如何修复它。

您有
suite.addTest(ExampleTestCase(“test_example”))
,但是您的
def
超出了类的范围(如果它确实是您的缩进)。确保test_示例是类的一部分

class ExampleTestCase(unittest.TestCase):
    capabilities = None

    def setUp(self):
        self.driver = webdriver.Remote(desired_capabilities={ "browserName": broswer, "platform": platform})

    def test_example(self):
        self.driver.get("www.360logica.com")
        self.assertEqual(self.driver.title, "360logica")

    def tearDown(self):
        self.driver.quit()

if __name__ == "__main__":
    #unittest.main()
    args = sys.argv
    port = args[1]
    platform = args[2]
    broswer = args[3]
    suite = unittest.TestSuite()
    suite.addTest(ExampleTestCase("test_example"))
    runner = XMLTestRunner(file('results_ExampleTestCase_%s.xml' % (broswer), "w"))
    runner.run(suite)
python substring.py 5555窗口firefox
这最终会将结果作为results\u ExampleTestCase\u firefox.xml转储(如预期的那样)。嗨,Gordon,当我尝试将测试示例重新定义为类的一部分时,仍然存在构建错误。但无论我怎么做,我都会一次又一次地犯这个错误。。。。。那么头痛。。。由于您是一位专家,您能帮助我定义测试示例的最佳位置吗?再次感谢。我不知道这里到底发生了什么,但有几件事我可以指出。在
def setUp()
中,可以调用
“node”:node
,但node从未在任何位置列出。修复此问题后,我可以使用您提供的命令运行此问题,这是我的输出:节点是指测试内容将发送到的客户机。但现在它对于编译器是无用的。你可以把它去掉。我还看到了运行日志,您已经删除了它,并且在没有节点的情况下完全运行。所以,您将test_示例重新定义为类的一部分。我可以试试你的方法吗?我会请你吃顿午餐。当你在安装程序中发布时,请尝试删除节点。我不知道怎么做。与我上次运行的错误相同。在移除节点:节点旁边,是否进行其他更改?User@SC027042~/Python27/selenv/Scripts$./python.exe Grid_1.py 5555窗口firefox回溯(最后一次调用):文件“Grid_1.py”,第32行,在suite.addTest(ExampleTestCase(“test_示例”))文件“C:\Python27\Lib\unittest\case.py”,第191行,在init中(self.\uuuu class\uuuu,methodName))value错误:在:test\u示例中没有此类测试方法