我正在尝试使用Selenium Webdriver测试仅在Internet Explorer 8中运行的系统。
我已经下载了最新版本的IE webdriver和一个旧版本,但其中任何一个都无效。我在“Internet选项”上设置了安全配置,就像我在这里读过的一些答案和系统变量一样。
我使用www.google.com这样的简单网址测试了我的系统是否有问题但是发生了相同的错误。
我正在用Python编写脚本,下面是一个例子:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.common.action_chains import ActionChains
import unittest, time, re
class testAccess(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Ie("C:\\PythonXX\\Drivers\\IEDriverServer.exe")
self.driver.implicitly_wait(30)
self.driver.maximize_window()
# URL
self.base_url = "http://www.google.com"
self.verificationErrors = []
self.accept_next_alert = True
def test_Logon(self):
driver = self.driver
driver.get(self.base_url + "/")
time.sleep(3)
driver.find_element_by_id("username").send_keys("username")
driver.find_element_by_id("password").send_keys("password")
driver.find_element_by_id("logIn").click()
time.sleep(5)
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException as e: return False
return True
def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException as e: return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
unittest.main()
当我执行此脚本时,IE将打开并返回消息“这是WebDriver服务器的初始启动页面”。执行脚本时打开的控制台崩溃并返回错误:“驱动程序的命令行服务器已停止工作”。
在Selenium文档中,听起来很清楚使用webdrivers,但没有解释旧版Internet Explorer中的用法。我不知道我到底做错了什么,而且我已经阅读了很多没有帮助的答案。
答案 0 :(得分:1)
哦,对!我解决了下载http://selenium-release.storage.googleapis.com/index.html上可用的第一版IEDriverServer(2.39)的问题。
除此之外,我完成了https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver
中描述的必需配置现在正在运作!哈哈:)