隐藏

使用Python的Selenium

发布:2023/12/22 0:06:28作者:管理员 来源:本站 浏览次数:315

Python被认为是最受欢迎和最受欢迎的编程语言之一。大家可能都知道,Selenium是Web应用程序自动化测试的完美工具。


   Selenium 简介Python 简介Selenium 和Python绑定使用Python定位Web元素

   因此,与其他编程语言相比,Python帮助我们以一种简单得多的方式编写Selenium脚本。因此,我提出了这篇关于使用Python的Selenium的文章,其中我将涵盖以下提到的主题:如果您想要通过Certified SeleniumExpert掌握Selenium的概念,您可以查看下面的视频,其中从更广泛的角度介绍了这些主题。


使用Python实现测试自动化


本视频将全面介绍Python的Selenium基础知识。

Selenium简介


Selenium是一个开放的SourceTool,用于自动化在Web浏览器或使用任何Web浏览器测试的Web应用程序上执行的测试用例。等一下,在您忘乎所以之前,让我再重复一遍,使用Selenium只能测试Web应用程序。我们既不能测试任何桌面软件应用程序,也不能使用Selenium测试任何移动应用程序。所以它是一个支持交叉浏览和自动化Web应用的开源工具!现在,让我们来看看为什么我们需要Selenium IDE来进行自动化测试?正如我已经提到的-Selenium是开源的,而且不涉及许可成本,这是相对于其他测试工具的主要优势。Selenium越来越受欢迎的其他主要原因包括它们的测试用例、操作系统平台和浏览器支持。


与其他自动化工具相比,这些是使Selenium保持领先地位的一些原因。现在,让我们更深入地研究这篇文章,了解什么是Python?

Python简介


   免费开源高层已解释有幸拥有一个庞大的社区

   Python非常简单易学。它是最强大的语言之一,与英语非常相似!那么,是什么让它变得简单呢?Python还有许多涵盖调试和最快工作流的内置测试框架。有很多工具和模块可以让事情变得更简单,比如Selenium_and_Splinter,而Python还支持跨平台和跨浏览器的框架,比如PyTest_and_Robot_Framework。 理解了这一点之后,现在让我们了解一下Selenium和Python之间的绑定。


Selenium与Python绑定


第一步是使用Selenium web驱动程序编写功能测试,然后需要向Selenium服务器发送请求,然后在各种浏览器上执行测试用例。它可以是Google Chrome、Internet Explorer或MozillaFirefox。 现在,为了用Selenium实现Python,我们首先需要导入Selenium web驱动程序!首先,让我来告诉你什么是Selenium web驱动程序。 Selenium中的WebDriver是一个基于Web的自动化测试框架,可以测试在各种浏览器和各种操作系统上启动的网页。为了导入和配置依赖项以添加库和功能,您需要在以下命令的帮助下导入Selenium Webdriver。


from selenium import webdriver

from selenium.webdriver.common.keys import keys

from selenium.import.*


这一切都是关于Python和Selenium之间的绑定。现在,让我们进一步了解如何使用Python定位Selenium中的元素。

使用Python定位Web元素


Python编程语言提供了各种框架,如Django,Flask等,你可以定制它的主题和插件&它还可以帮助你通过提供一些特性,比如建议,本地CSV等来提高编码效率。你可以用Python编写Selenium脚本,可以使用任何像Jupyter Notebook,Anaconda,和Pym这样的工具。现在让我们看看Selenium中的定位符是什么?定位符是唯一标识网页中的web元素的地址。定位符是Web元素的HTML属性,它告诉Selenium它需要对哪个元素执行操作。Selenium使用定位器与网页上的Web元素交互。 现在,有各种各样的网络元素,如文本框、id、单选按钮等,我认为识别这些元素一直是一个非常棘手的主题。


   ID名称LinkTextCSS选择器PARTALLINK TextXPath

   因此,它需要一种准确而有效的方法。因此,我们可以说,定位器越有效,自动化脚本就越稳定。Every Selenium命令需要定位器来查找Web元素。因此,为了准确地识别这些Web元素,我们有不同类型的定位器,即:如果您想详细了解这些定位器,可以阅读这篇关于Selenium定位器的文章。 现在,让我们看一个小示例,以了解使用Python在Selenium中定位器的工作原理。 我将启动Google Chrome并导航到http://hotstar.com


在检查上面的web元素时,您可以看到它有一个input标签和一些属性,比如class和id。现在,我将使用ID Locator的值,即搜索字段来定位搜索框。


让我们看看如何自动化搜索框并使用Id 向其发送值。


from selenium import webdriver

driver = webdriver.Chrome("C:UsersNeha_Vaidyaeclipse-workspaceSeleniumchromedriver_win32chromedriver.exe")

driver.get("https://www.hotstar.com")

driver.find_element_by_id("searchField").send_keys("Movies")


当您运行上述代码时,Chrome Driver将启动Google Chrome,重定向到Hotstar,在搜索框中输入值‘Movies’。 我希望这能让您清楚地了解Selenium中的ID是如何工作的。现在让我们进一步了解如何使用名称定位器。


现在假设您希望Google自动搜索一个元素,让我们看看如何在name locator的帮助下做到这一点。最初,我将检查Google Search框并检索name属性的值,即‘q’。下一步是将值发送到搜索框。一旦您将值发送到搜索,它将为您提供Selenium的自动搜索。您可以在Python中查看相同代码的以下代码。


from selenium import webdriver

driver = webdriver.Chrome("C:UsersNeha_Vaidyaeclipse-workspaceSeleniumchromedriver_win32chromedriver.exe")

driver.get("https://www.google.com")

driver.find_element_by_name("q").send_keys("Selenium")

driver.find_element_by_name("btnK").click()


所以,基本上,这就是它的工作原理。现在让我们看一下使用XPath定位元素的泛化代码。


from selenium import webdriver

driver = webdriver.Chrome("C:UsersNeha_Vaidyaeclipse-workspaceSeleniumchromedriver_win32chromedriver.exe")

driver.get("https://www.hotstar.com")

driver.find_element_by_xpath("//div[@class='signIn displayElement']").click()   # Click on login icon

driver.find_element_by_xpath("//input[@name='email']").send_keys("xyz@edureka.co") # Entering email address

driver.find_element_by_name("password").send_keys("edureka123")    #Entering the given password

driver.find_element_by_xpath("//button[@type='submit']").click()      #Clicking submit button to login


上面的代码描述了http://hotstar.com的登录。首先,使用XPath,我将单击登录图标,然后输入电子邮件地址和密码。之后,再次使用XPath,我将单击提交按钮通过http://hotstar.com登录。因此,登录过程的每一步都是在XPath定位器的帮助下进行的。这就是它的工作原理。如果您希望深入了解XPath及其基础知识,可以阅读这篇关于XPath的Selenium文章。 至此,我们结束了关于使用Python的Selenium的文章。我希望它能帮助你,让你的知识增值。