<p>在使用Python的<strong>unittest</strong>模块和<em>Selenium</em>时,您必须考虑以下几个事实:</p>
<ul>
<li>你需要处理好凹痕。<code>class</code>和{<cd2>}的缩进不同。在</li>
<li><p>在定义<code>@Tests</code>时,将测试命名为以<strong>test</strong>开头的测试,例如</p>
<pre><code>def test_login_avaliador(self):
</code></pre></li>
<li><p>始终在<code>tearDown(){}</code>方法中调用<code>driver.quit()</code>,以优雅地关闭并销毁<em>WebDriver</em>和<em>Web Client</em>实例。</p></li>
<li><p>以下是您自己的代码,只需稍作修改:</p>
<pre><code>import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
class loginAvaliador(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome(executable_path=r'C:\WebDrivers\chromedriver.exe')
def test_login_avaliador(self):
driver = self.driver
driver.get("http://d3dyod5mwyu6xk.cloudfront.net/")
assert "FGV" in driver.title
cpf = driver.find_element_by_xpath('//input[@placeholder="CPF"]')
cpf.send_keys("27922797885")
password = driver.find_element_by_xpath('//input[@placeholder="SENHA"]')
password.send_keys("enccejaregular")
login = driver.find_element_by_tag_name('button')
login.click()
assert "No results found." not in driver.page_source
def tearDown(self):
self.driver.quit()
if __name__ == "__main__":
unittest.main()
</code></pre></li>
<li><p>执行结果:</p>
<pre><code>C:\path\to\PyPrograms>python -m unittest 52560471_unittest.py
DevTools listening on ws://127.0.0.1:12022/devtools/browser/078fc4e9-3ca6-4bbb-b318-0b8f04318d32
.
Ran 1 test in 40.796s
OK
</code></pre></li>
</ul>