📅  最后修改于: 2020-11-06 04:59:09             🧑  作者: Mango
在本教程中,我们将学习如何使用Python编程语言运行Selenium测试脚本。
在继续本教程之前,首先,我们将了解一些要点,这些要点将帮助我们在Python实现测试脚本。
Selenium是一种开源测试工具,这意味着它可以从互联网上下载而无需花任何钱。selenium是一种功能测试工具,也与非功能测试工具兼容。
有关Selenium的更多信息,请参见以下链接:https://www.javatpoint.com/selenium-tutorial
Selenium是最受欢迎的自动化测试工具之一。在这里,自动化测试是使用诸如Selenium之类的自动化工具将任何手动测试用例转换为测试脚本的过程。
以下是我们偏爱Selenium进行自动化测试的一些方面:
有关Python语言的更多详细信息,请参见以下链接:https://www.javatpoint.com/Python-tutorial
有两种方法可以借助Python运行Selenium测试脚本:
让我们看看如何借助Python编程语言配置Selenium:
使用Python配置Selenium的步骤如下:
在本节中,我们将看到如何下载和安装Python for Windows平台。
下载Python
要下载适用于Windows平台的最新版本的Python ,请参考以下链接:https:// www。 Python.org / downloads /
安装Python
下载适用于Windows-64位的Python之后,我们就可以安装Python了。
要安装Python,请执行以下过程:
之后,我们将检查Python是否已成功安装并且工作正常。
因此,为此,我们将打开命令提示符,并将命令键入为Python并按Enter键,这将打开Python解释器外壳,我们可以在其中实现Python程序,如下图所示:
在我们的操作系统中成功安装Python之后,我们将安装Selenium库。
为此,我们将在命令提示符下执行以下命令:
Python -m pip install -U Selenium
并且,此命令将成功安装最新的Selenium软件包,即,将Selenium -3.141.0添加到库中,如下图所示:
执行完上述命令后,它将自动创建具有所有Selenium库的Selenium文件夹,如下面的屏幕截图所示:
一旦我们将Selenium库成功安装到Python,就可以下载PyCharm的Python IDE。
要下载PyCharm,请执行以下过程:
成功安装PyCharm之后,我们将打开PyCharm IDE以创建新项目。
在PyCharm中创建一个新项目
请按照以下过程在PyCharm中创建一个新项目:
添加selenium测试脚本
要在PyCharm中添加Selenium测试脚本,请遵循以下过程:
编写Selenium测试脚本
为了进行测试,我们将首先转到Google主页,然后从那里搜索javatpoint。
我们正在逐步创建示例测试脚本,以使您全面了解如何用Python编程语言编写Selenium测试脚本。
为此,请按照以下步骤操作:
Steps | Actions | Input | Expected Result |
---|---|---|---|
1. | Import WebDriver from selenium. | The WebDriver should be imported. | |
2. | Open the Google Chrome browser. | The Google Chrome browser should be opened. | |
3. | Maximize the browser window. | The browser window should be maximized. | |
4. | Navigate to the Google home page. | https://www.google.com/ | The Google home page must be displayed. |
5. | Identify the Google search text box and pass the value. | javatpoint | The value should be entered in the search text box. |
6. | Click on the Google search button. | The Google search button should be clicked. | |
7. | Close the Browser. | The Browser should be closed. |
步骤1
第一步,我们将键入以下语句以导入Web驱动程序:
from selenium import webdriver
第2步
之后,我们将打开Google Chrome浏览器。
如下面的屏幕快照所示,我们提供了多种类型的浏览器选项,并且可以从列表中选择任何浏览器,例如Chrome,Edge,firefox,Internet Explorer,Opera,safari等。
以下是打开Google Chrome浏览器的示例代码:
driver = webdriver.Chrome()
第三步
下一步,我们将最大化浏览器窗口的大小,示例代码如下:
driver.maximize_window()
第四步
然后,我们将导航到给定的URL。
示例代码如下:
driver.get("https://www.google.com/")
注意:我们知道Python是一种非常容易编写代码的语言,因为我们不必像编写Java那样编写多个语句。或者,如果要注释掉某些内容,我们只需在语句中添加一个井号[#],或者我们可以直接从键盘上按Ctrl +正斜杠[/]。
步骤5
在此步骤中,我们试图借助其“名称”属性值找到Google搜索文本框。
这里是示例代码:
driver.find_element_by_name("q").send_keys("javatpoint")
步骤6
一旦我们确定了Google搜索文本框,便确定了Google搜索按钮。
因此,请遵循以下过程:
并且,示例代码如下:
driver.find_element_by_name("btnK").send_keys(Keys.ENTER)
步骤7
在最后一步,我们将关闭浏览器。
并且,用于关闭浏览器的示例代码如下:
driver.close()
完成上述所有步骤后,我们的最终测试脚本将如下所示:
from Selenium import webdriver
import time
from Selenium.webdriver.common.keys import Keys
print("sample test case started")
driver = webdriver.Chrome()
#driver=webdriver.firefox()
#driver=webdriver.ie()
#maximize the window size
driver.maximize_window()
#navigate to the url
driver.get("https://www.google.com/")
#identify the Google search text box and enter the value
driver.find_element_by_name("q").send_keys("javatpoint")
time.sleep(3)
#click on the Google search button
driver.find_element_by_name("btnK").send_keys(Keys.ENTER)
time.sleep(3)
#close the browser
driver.close()
print("sample test case successfully completed")
注意:导入时间:时间是一个Python模块,用于处理与时间有关的任务,例如time.sleep()。
从Selenium.webdriver.common.keys导入密钥:
在这里,我们从Selenium中添加了Keys库,就像上面的代码一样,我们使用Enter键而不是click()方法来执行特定的场景。
编写完Selenium测试脚本后,我们将运行测试脚本。
在这里,我们将以两种方式运行测试脚本:
在Python IDE中运行
因此,首先,我们将了解如何在Python IDE中运行Selenium测试脚本。
为克服此异常,我们将从以下链接下载chrome驱动程序可执行文件:https://chromedriver.storage.googleapis.com/index.html?path=79.0.3945.36/
driver=webdriver.Chrome(r"C:\Users\JTP\PycharmProjects\SeleniumTest\Browsers\chromedriver.exe")
注意:在这里,我们将使用“ r”来克服Unicode错误。
正如我们在下面的屏幕截图中所看到的,如果我们不将r放入代码中,它将生成语法错误。
上面的测试脚本将启动Google Chrome浏览器并自动执行所有测试方案。
在命令提示符下运行
要在命令提示符下运行上述测试脚本,请执行以下过程:
这是使用Python执行Selenium测试脚本的另一种方法。
在本节中,我们将在Eclipse中安装PyDev,然后在其上实现Selenium测试脚本。
要在Eclipse中安装PyDev,请执行以下过程:
在开始在Eclipse中安装PyDev之前,请确保我们已经安装了最新版本的Eclipse IDE。
要设置首选项,请按照以下过程操作:
要创建一个新项目,请按照以下步骤操作:
请按照以下过程创建一个新程序包:
创建PyDev程序包后,我们将创建一个PyDev模块。
要创建PyDev模块,请执行以下过程:
为了进行测试,我们将在Gmail应用程序上执行登录测试。
在此测试中,我们将自动执行以下测试方案:
Steps | Actions | Input | Expected Result |
---|---|---|---|
1. | Import web driver from Selenium. | Web driver should be imported. | |
2. | Open the Google Chrome browser. | The Google Chrome browser should be opened. | |
3. | Maximize the browser and delete all the cookies | The browser should be maximized, and cookies should be deleted. | |
4. | Navigate to the home page Gmail application. | https://www.gmail.com | The Gmail home page must be displayed. |
5. | Identify the username text box and pass the value. | xyz11@gmail.com | The username text box should be identified and value should be entered in the username text box. |
6. | Click on the Next button. | The next button should be clicked. | |
7. | Identify the password text box and pass the value. | ####### | The password text box should be identified and value should be entered in the Password text box. |
8. | Click on the Next button. | The next button should be clicked. | |
9. | Close the Browser. | The Browser should be closed. |
请按照以下步骤操作:
步骤1
第一步,我们将在以下语句的帮助下导入Web驱动程序:
from selenium import webdriver
第2步
之后,我们将打开Google Chrome浏览器。
示例代码如下:
#open Google Chrome browser
driver = webdriver.Chrome()
第三步
在下一步中,我们最大化并删除浏览器窗口的所有cookie。
这里是示例代码:
#maximize the window size
driver.maximize_window()
#delete the cookies
driver.delete_all_cookies()
第四步
在此步骤中,我们将导航到Gmail应用程序URL。
示例代码如下:
#navigate to the url
driver.get("https://www.gmail.com")
步骤5
导航到Gmail应用程序的URL后,我们将识别用户名文本框并传递其值。
要标识用户名文本框,请按照以下过程操作:
#identify the user name text box and enter the value
driver.find_element_by_id("identifierId").send_keys("xyz11@gmail.com")
time.sleep(2)
步骤6
在此步骤中,我们将确定“下一步”按钮,然后单击它。
要确定下一步按钮,请按照以下过程操作:
#click on the next button
driver.find_element_by_xpath("//span[@class='RveJvd snByac'][1]").click()
time.sleep(3)
步骤7
在此步骤中,我们将识别密码文本框并传递其值。
要识别密码文本框,请执行以下过程:
这里是示例代码:
#identify the password text box and enter the value
driver.find_element_by_name("password").send_keys("########")
time.sleep(3)
步骤8
在此步骤中,我们将确定“下一步”按钮,然后单击它。
要确定下一步按钮,请按照以下过程操作:
这里是示例代码:
#click on the next button
driver.find_element_by_xpath("//span[contains(text(),'Next')][1]").click()
time.sleep(3)
步骤9
在测试脚本的最后一步,我们将关闭浏览器。
这里是示例代码:
#close the browser
driver.close()
并且,成功编写完所有上述步骤后,我们的最终测试脚本将如下所示。
from Selenium import webdriver
import time
from Selenium.webdriver.common.keys import Keys
print("test case started")
#open Google Chrome browser
driver = webdriver.Chrome()
#maximize the window size
driver.maximize_window()
#delete the cookies
driver.delete_all_cookies()
#navigate to the url
driver.get("https://www.gmail.com")
#identify the user name text box and enter the value
driver.find_element_by_id("identifierId").send_keys("xyz11@gmail.com")
time.sleep(2)
#click on the next button
driver.find_element_by_xpath("//span[@class='RveJvd snByac'][1]").click()
time.sleep(3)
#identify the password text box and enter the value
driver.find_element_by_name("password").send_keys("#########")
time.sleep(3)
#click on the next button
driver.find_element_by_xpath("//span[contains(text(),'Next')][1]").click()
time.sleep(3)
#close the browser
driver.close()
print("Gmail login has been successfully completed")
注意:在上述代码中,请在以下位置使用您的Gmail ID:xyz11@gmail.com和密码:#########
要运行上述测试脚本,我们将右键单击代码,然后选择“运行方式”→“ Python运行”,如下面的屏幕截图所示:
上面的测试脚本将启动Google Chrome浏览器并自动执行所有测试方案。
而且,正如我们在下面的屏幕截图中看到的那样,当我们在控制台屏幕上获得print消息(输出)时,我们的代码正在成功运行。