[英]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.