【问题标题】:Pycharm,Selenium Process finished with exit code zero [duplicate]Pycharm,Selenium 进程以退出代码零完成[重复]
【发布时间】:2019-08-05 19:13:26
【问题描述】:

当我试图通过 Pycharm 运行我的代码时,它不会执行任何操作。通常它应该运行代码并且 Chrome 应该启动。

1) 尝试从终端运行还是一样。

from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.keys import Keys
import time
import unittest

class SearchText(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get('http://book.theautomatedtester.co.uk/')
        self.driver.maximize_window()
        time.sleep(2)
        self.driver.switch_to_window(driver.window_handles[0])

    def test_search_by_text(self):
        self.driver.find_element_by_xpath('/html/body/div[2]/ul/li[1]/a').click()
        self.driver.find_element_by_id('radiobutton').click()
        self.driver.find_element_by_id('selecttype').send_keys('Selenium Code',Keys.ENTER)
        self.driver.find_element_by_name('selected(1234)').click()
        self.driver.find_element_by_id('storeinput').send_keys('Salamlar')
        self.driver.find_element_by_id('secondajaxbutton').click()
        self.driver.find_element_by_id('multiplewindow').click()
        self.driver.switch_to_window(driver.window_handles[1])
        self.driver.find_element_by_id('closepopup').click()
        self.driver.switch_to_window(driver.window_handles[0])
        self.driver.find_element_by_id('loadajax').click()
        self.driver.find_element_by_id('ajaxdiv')
        assert driver.page_source.find('The following text has been loaded from another page on this site. It has been loaded in')
        aka = driver.find_element_by_id('verifybutton')
        if aka.is_enabled():
            aka.click()
        else: print('Not Existing')

    def tearDown(self):
        # close the browser window
        self.driver.quit()

预期结果:代码将触发浏览器并运行测试

【问题讨论】:

  • 这就是你所有的代码吗?你在哪里有if __name__ == "__main__": 行吗?因为在上面的代码中没有被告知要运行
  • @Matt Camp 。完全感谢,我错过了它......
  • @PixelEinstein 我没有找到答案。这就是我问这个问题的原因。

标签: python selenium


【解决方案1】:

您的代码实际上并没有执行任何操作。 如果你想执行单元测试,你必须调用unittest.main()。而且由于这应该只在执行文件本身时完成,所以您应该在文件底部添加它。

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

【讨论】:

    猜你喜欢
    • 2020-01-31
    • 2018-11-10
    • 2018-09-01
    • 2023-04-06
    • 2017-11-20
    • 2018-11-06
    • 2021-08-18
    • 1970-01-01
    相关资源
    最近更新 更多