当前位置: 首页 > news >正文

电商网站前端制作分工微信营销管理软件

电商网站前端制作分工,微信营销管理软件,中国建设银行网站官网下载,软件系统开发流程基于本人也是一个初学者,在运用POM模式的时候记录一下自己的学习笔记。 如果你是大神,那么可以略过,如果你是初学者,希望对你有帮助。 本文阐述了以下几个问题: 什么叫POM模式 为什么要用POM模式 POM模式的思想 POM模…

基于本人也是一个初学者,在运用POM模式的时候记录一下自己的学习笔记。

如果你是大神,那么可以略过,如果你是初学者,希望对你有帮助。

本文阐述了以下几个问题:

        什么叫POM模式

        为什么要用POM模式

        POM模式的思想

        POM模式的运用

在刚学习selenium自动化测试的时候,一般都是:

        1.打开网页

        2.定位元素,进行操作

        3.关闭网页

以百度为例:

import time
from selenium import webdriver
from selenium.webdriver.common.by import Bydriver=webdriver.Chrome()
driver.get("https://www.baidu.com/")text_input=driver.find_element(By.XPATH,'//*[@id="kw"]')
text_input.send_keys("京东")
submit_button=driver.find_element(By.XPATH,'//*[@id="su"]')
submit_button.click()
time.sleep(8)
driver.quit()

以上是一个简单的访问百度网页,搜索京东的例子。

因为只有一个页面,所以相对来说使用这种模式的弊端没有显露出来。

当被测对象有很多页面的时候,问题开始显现出来了。

假设在5个测试用例中都使用到了元素X,那么,当前端对元素X做了更新处理的时候。我们就需要找到这5个引用到了元素X的地方,对元素X进行更改。

所以,引入POM模式。

什么叫POM模式

POM模式:Page Object Model,即页面对象模型。

通俗讲,就是把页面的元素、操作、数据等分离开来,再通过用例调用。

本质上就是一种封装的思想,让代码逻辑更清晰,容易维护。这样的话,就能减少重复大量的定位元素和维护的时间成本。

为什么要用POM模式

通过这种模式,我们把页面的元素定位和业务操作分离开。

        1.多个测试人员可同时编写和维护脚本

        2.代码逻辑更清晰,更易维护

POM模式的思想

将页面分为3层:操作层、页面层、用例层

操作层:就是对一些元素的公共操作。比如:点击,输入,拖拽。

页面层:页面元素的定位,及属于该页面独有的操作也可封装在这里。

用例层:在页面中操作元素。也就是测试用例。

关系如下图,网络找的,侵删。

操作层:BasePage,点击,输入,拖拽等公共的操作。

页面层:Page,继承BasePage,实现元素定位以及一些该页面独有的功能。

用例层:TestCase,测试用例。

POM模式的运用

根据POM模式的思想:

1.首先封装公共操作到base_page

2.然后定位页面元素至page

3.最后在test_case写测试用例

base_page.py:

定义了打开网页,定位元素,点击,输入,关闭网页的方法。

可被其他页面继承。

from selenium import webdriver
import logging
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ECclass BasePage:def __init__(self):self.driver=webdriver.Chrome()def open_url(self,url):self.driver.get(url)self.driver.maximize_window()def find_element(self,locator,timeout=10):try:element=WebDriverWait(self.driver,timeout).until(EC.presence_of_element_located(locator))return elementexcept:logging("{locator}元素没有找到")raisedef click(self,locator):element=self.driver.find_element(*locator)element.click()def send_keys(self,locator,text):element=self.driver.find_element(*locator)element.send_keys(text)def quit(self):self.driver.quit()

index_page.py:

具体的页面元素定位,以及一些该页面元素独有的方法。

继承了BasePage。

from selenium.webdriver.common.by import By
from base_page import BasePage
class IndexPage(BasePage):text_input = (By.XPATH, '//*[@id="kw"]')submit_button = (By.XPATH, '//*[@id="su"]')def input_text(self,text):self.send_keys(self.text_input,text)def submit(self):self.click(self.submit_button)

testcase.py:

前置操作,初始化driver,打开网页。

执行测试用例。

后置操作,关闭浏览器。

import time
import unittest
from index_page import IndexPageclass TestCaseSearch(unittest.TestCase):def setUp(self)->None:self.driver=IndexPage()self.driver.open_url("https://www.baidu.com/")def tearDown(self)->None:self.driver.quit()def testSearch(self):self.driver.input_text(text="京东")self.driver.submit()time.sleep(8)if __name__ =="__main__":unittest.main()

http://www.hkea.cn/news/941803/

相关文章:

  • 做动画视频的网站市场监督管理局官网入口
  • 做bbs网站教程军事新闻最新消息今天
  • 在哪儿可以找到网站开发的需求搜索引擎优化介绍
  • 成都网站建设代理加盟网络运营培训班多少钱
  • 太原开发网站公司站长工具端口扫描
  • 域控制网站访问自媒体视频发布平台
  • 广西住房和城乡建设委员会网站湖南网站营销seo多少费用
  • 关键词推广名词解释百度竞价关键词怎么优化
  • 群辉服务器做网站网络优化的内容包括哪些
  • 做淘客的网站岳阳seo
  • 网吧设计方案seox
  • 谁做网站市场营销专业
  • 慈溪外贸公司网站网络营销就业前景和薪水
  • 电商网站建设实训报告长沙网站seo推广公司
  • 阿里云ecs怎么建网站吉林网站seo
  • 企业营销型网站建设的可行性西安竞价托管
  • 做网站如何适应分辨率网站分析培训班
  • 现在币圈有那些私募网站做的好百度推广账号登陆入口
  • 旅游网站图片营销公司排名
  • 做服务器的网站都有哪些搜狗关键词排名此会zjkwlgs
  • php动态网站开发 唐四薪 答案b站引流推广网站
  • 长沙3天2晚自由行攻略论述搜索引擎优化的具体措施
  • 外汇局网站做结汇申报被逆冬seo课程欺骗了
  • 网站运营配置免费网站在线观看人数在哪直播
  • 什么网站做一手房好系统优化的例子
  • wordpress 插入wordseo排名点击工具
  • 网站推广易网宣seo的主要分析工具
  • 安徽网站定制最大免费广告发布平台
  • 怎么查网站有没有做404公司宣传网页怎么做
  • 靠谱营销网站开发选哪家seo的优点和缺点