美文网首页
JavaScript解决自动化测试中selenium不能操作的问

JavaScript解决自动化测试中selenium不能操作的问

作者: mater_sun | 来源:发表于2017-01-16 15:16 被阅读0次
  • 对只读input执行输入

  • 背景

测试页面中,很多时间选择框、下拉选择框在html中用<input>标签来用于搜集用户信息。为了保证数据的规范性,选择框中的数据只能通过手动选择界面上的数据,这些input标签往往会加上readonly="readonly"属性。
通过JavaScript语言,可以remove标签的只读属性。

  • 代码实践

l 页面元素:
l 程序代码:
JavascriptExecutor js = driver.GetJavascriptExecutor(); js.executeScript("var setDate=document.getElementById('startTime_startTime'); setDate.removeAttribute('readonly');") ;
l 解释:
1、JavascriptExecutor
js = driver.GetJavascriptExecutor();此JavascriptExecutor对象调用的是平台已封装好的DriverManager中的对象
2、setDate=document.getElementById('startTime_startTime');用来定位元素
3、setDate.removeAttribute('readonly');用来移除只读属性

  • 富文本编辑器操作

  • 背景

为方便用户编辑文本信息,很多测试页面中会内嵌富文本编辑器。富文本框的常见实现技术用到了Frame标签,并且在Frame里面实现了一个完整的HTML网页结构,所以使用普通的定位模式无法直接定位到富文本框对象。
使用JavaScript语句可以实现富文本框中的HTML格式内容输入。

  • 代码实践

l 页面元素:

l 程序代码:
JavascriptExecutor js = driver.GetJavascriptExecutor(); js.executeScript("varsetMessage=document.getElementsByTagName('body')[0]; setMessage.innerHTML = 'hello';") ;
l 解释:
1、JavascriptExecutor
js = driver.GetJavascriptExecutor();此JavascriptExecutor对象调用的是平台已封装好的DriverManager中的对象
2、setMessage=document.getElementsByTagName('body')[0];用来定位元素
3、setMessage.innerHTML
= 'hello';在富文本框内输入信息

  • JavaScript获取控件对象的三个方法

3.1 document.getElementsByName()
根据控件名称获取控件对象,因为控件名称可以相同,返回的是一个对象数组。
注:可以用document. getElementsByName ('input')[0] 取得第一个控件。
3.2 document.getElementById()
根据控件ID获取控件对象,因为控件ID唯一,返回的是一个对象。
3.3 document.getElementsByTagName()
根据控件TAG获取这个控件对象,返回的是一个对象数组。
注:可以用document.getElementsByTagName('input')[0] 取得第一个控件。
l 程序代码:
JavascriptExecutor js = driver.GetJavascriptExecutor(); js.executeScript("varsetMessage=document.getElementsByTagName('body')[0]; setMessage.innerHTML = 'hello';") ;
l 解释:
1、JavascriptExecutor js = driver.GetJavascriptExecutor();此JavascriptExecutor对象调用的是平台已封装好的DriverManager中的对象
2、setMessage=document.getElementsByTagName('body')[0];用来定位元素
3、setMessage.innerHTML= 'hello';在富文本框内输入信息

相关文章

  • JavaScript解决自动化测试中selenium不能操作的问

    对只读input执行输入 背景 测试页面中,很多时间选择框、下拉选择框在html中用 标签来用于搜集用户信息。为了...

  • selenium使用

    selenium 是一个用于Web自动化测试的工具。selenium在爬虫,主要是用来解决javascript渲染...

  • Selenium

    # Selenium # # 自动化测试工具,致辞多种浏览器 # 爬虫中主要用来解决JavaScript渲染的问题...

  • 爬虫:07.Selenium库

    自动化测试工具,支持多种浏览器。爬虫中主要用来解决JavaScript渲染问题 安装Selenium:pip in...

  • selenium用法详解

    selenium主要是用来做自动化测试,支持多种浏览器,爬虫中主要用来解决JavaScript渲染问题。 模拟浏览...

  • 自动化框架之python+selenium+pytest

    1.概述 selenium: 基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接...

  • 老猿学自动化测试扫盲贴:自动化框架之selenium+pytes

    1.概述 selenium: 基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接...

  • Docker-Selenium在WebUI测试中的使用

    selenium简介 Selenium是一个WEB自动化测试工具支持跨浏览器的自动化测试支持跨操作系统的自动化测试...

  • 爬虫第七讲:Selenium

    Selenium库 什么是Selenium库 Selenium是自动化测试工具,支持多种浏览器,爬虫中主要用来解决...

  • Selenium浅析

    Selenium 设计的目的是为了自动化的操作浏览器,完成自动化 Web 测试任务。当然,Selenium 的能力...

网友评论

      本文标题:JavaScript解决自动化测试中selenium不能操作的问

      本文链接:https://www.haomeiwen.com/subject/vqkpbttx.html