繁体   English   中英

python程序不会执行,没有错误

[英]python program will not execute, there is no errors

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import unittest

class LoginTest(unittest.TestCase):

    def setUp(selfself):
        self.driver = webdriver.Chrome(executable_path='C:\Users\pepe2\Downloads\chromedriver_win32\chromedriver.exe')
        driver.maximize_window()
        self.driver.get("https://account.microsoft.com/account")
        driver.find_element_by_id("meControl").click()


    def test_Login(self):

        emailFieldID    = "email"
        passFieldID     = "pass"
        LoginButtonID   = "idSIButton9"

        emailFieldElement = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(emailFieldID))
        passFieldElement  = WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_name(passFieldID))
        LoginButtonElement= WebDriverWait(driver, 10).until(lambda driver: driver.find_element_by_id(LoginButtonID))

        emailFieldElement.clear().send_keys("************")
        passFieldElement.clear().send_keys("***********")
        LoginButtonElement.click()

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


    if __name__ == '_main_':
        unittest.main()

你通过一个类间接调用它,而不是在 main 中。 因此, (__name__ == '_main_')将始终为 False。

请注意当我单独运行此代码时会发生什么。

if __name__ == '_main_':
    print ('something 1')

if __name__ == '__main__':
    print ('something 2')

结果是,

something 2

'main' 的两边都应该有双下划线。


我改变了这一行:

self.driver = webdriver.Chrome(executable_path=r'C:\Users\pepe2\Downloads\chromedriver_win32\chromedriver.exe')

(路径必须标记为原始字符串,因为它包含反斜杠。)


我怀疑主程序中的一行应该是,

LoginTest.main()

因为LoginTest派生自unittest 然而,尽管脚本现在运行它会抛出一个错误,声称LoginTest缺少属性“Main”。

现在就看你了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM