element

selenium+python自动化框架

坚强是说给别人听的谎言 提交于 2021-02-14 10:44:17
流程 : 环境准备 eclipse :需安装pydev、testng插件 python :安装python完成后,需 pip下安装selenium:命令: pip install selenium 我现在的环境: eclipse【 Neon.3 Release (4.6.3)】+JDK1.8+python3.6.3+pydev 6.4.4+selenium3.8.1 2 eclipse创建python项目 1 src:框架主要代码,很重要!!其中,framework主要实现 配置文件的读取,日志类,读取数据库,selenium常用方法封装,浏览器启动类等 2 config :配置文件,配置url,数据库等 data:放的测试案例的数据—因为表太多,现在不用了,数据改放在了数据库中 3 logs:顾名思义,放生成的日志 4 PageElement:放需要的页面元素 5 report:生成的测试报告会在这里 6 result:本来想放具体的测试结果,如哪条案例未通过放这里!!现在也没啥用!可以不用 7 screenshot:放运行错误后的截图 8 tools:工具类:如驱动啥的 测试数据准备 3.1 测试元素表 3.2测试数据表 ** 测试主框架的搭建 4.1框架目录 每个包的解释: framework:自动化测试框架的支撑,主要实现功能为对selenium一些常用方法的封装

Java反射,泛型在Json中的运用

五迷三道 提交于 2021-02-14 08:45:08
最近项目中遇到了Json数据自动获取的功能,不然令人想起java的反射,已经很长时间没复习java了正好一块连java的这一块内容一起过一遍。java中的反射无疑就相当于java开发者的春天,在众多的框架中也能看到它的身影,可以在运行时检查类,接口、变量和方法等信息,可以实例化调用方法以及设置变量值等。本文主要以代码的形式直接将反射,泛型的运用展现出来。 ###java中的反射### 首先新建一个基础类Author。 package bean; /** * * @author Super~me * Description: 基础类 * */ public class Author { private static String TAG="Big"; private String name; private int age; public Author(){} public Author(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; }

css3:选择器

孤街醉人 提交于 2021-02-13 19:25:35
通配选择符( * ) 通常不建议使用通配选择符,因为它会遍历并命中文档中所有的元素,出于性能考虑,需酌情使用 相邻选择器(+) 会选择相邻的下一个的元素(不包括自己) 兄弟选择器(~) 会选择相邻的后面的所有兄弟元素(不包括自己) 属性选择器 E[att] { sRules } 选择具有att属性的E元素。 E[att="val"] { sRules } 选择具有att属性且属性值等于val的E元素 E[att~="val"] { sRules } 选择具有att属性且属性值为一用空格分隔的字词列表,其中一个等于val的E元素(包含只有一个值且该值等于val的情况)。 E[att^="val"] { sRules } 选择具有att属性且属性值为以val开头的字符串的E元素 ;(包括),如果有多个值,则写在开头的一个包括val则可以; E [att$="val"] { sRules } 选择具有att属性且属性值为以val结尾的字符串的E元素。 (包括该字符串),如果有多个属性值,则不可以! E[att*="val"] { sRules } 选择具有att属性且属性值 有 val 字母 的字符串的E元素。 如果属性有多个属性值,但属性值中包含有val的字符串,也可以。 E[att|="val"] { sRules } 选择具有 att 属性,其值是以 val 开头并用连接符"-

使用element的upload组件实现一个完整的文件上传功能(下)

北城余情 提交于 2021-02-13 19:02:44
      作者:小土豆biubiubiu 博客园: www.cnblogs.com/HouJiao/ 掘金: https://juejin.im/user/58c61b4361ff4b005d9e894d 简书: https://www.jianshu.com/u/cb1c3884e6d5 微信公众号:土豆妈的碎碎念(扫码关注,一起吸猫,一起听故事,一起学习前端技术) 码字不易,点赞鼓励哟~        本篇文章是《 使用element的upload组件实现一个完整的文件上传功能(上) 》的续篇。   话不多说,接着上一篇直接开始 一.功能完善—保存表格中每一列的文件列表状态 1.思路    保存表格中每一列的文件列表状态 , 这个功能是什么意思呢,我们先看下前面示例的效果。      在上面这个操作中,我们做了两件事:     1.给表格第一列的上传了一个附件图片     2.点击表格第二列、第三列、第四列的上传按钮,分别查看这三列的附件列表   那么最后的结果发现后三列的附件列表展示 的都是第一列的附件图片,这个显然不符合正常的逻辑。 仔细去看看我们的代码并且思考一下,也很快能知道这个问题出现的原因: 我们给<el-upload>的file-list属性绑定了attachList数据。 attachList这个值初始是空数组, 当我们点击第一列的附件管理上传一张图片后

微信小程序支付 java

冷暖自知 提交于 2021-02-13 17:19:26
原文:https://blog.csdn.net/zhourenfei17/article/details/77765585 话不多说,直接开撸。 支付流程步骤: 1)首先调用wx.login方法获取code,通过code获取openid; 2)java后台调用统一下单支付接口(这里会进行第一次签名),用来获取prepay_id; 3)java后台再次调用签名(这里会进行第二次签名),并返回支付需要用使用的参数; 4)小程序前端wx.requestPayment方法发起微信支付; 5)java后台接收来自微信服务器的通知并处理结果。 详细步骤可参考:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3 demo链接: https://pan.baidu.com/s/1v8QWUE1m2EnA4uAoAZtRRQ 密码: cgrt 一、获取openid, 这里的代码可以参考博主的另外一篇文章http://blog.csdn.net/zhourenfei17/article/details/77714600中的 3.1 代码模块,代码先贴上,如果了解更多点击链接查看 小程序端代码 wx.login({ success: function (res) { var service_url =

IBM DB2 SQL error code list

冷暖自知 提交于 2021-02-13 13:57:09
SQL return codes that are preceded by a minus sign (-) indicate that the SQL statement execution was unsuccessful. IBM DB2 SQL error code list 官方文档地址: https://www.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/codes/src/tpc/db2z_n.html -007 STATEMENT CONTAINS THE ILLEGAL CHARACTER invalid-character -010 THE STRING CONSTANT BEGINNING string IS NOT TERMINATED -011 COMMENT NOT CLOSED -029 INTO CLAUSE REQUIRED -051 identifier-name (sql-type) WAS PREVIOUSLY DECLARED OR REFERENCED -056 AN SQLSTATE OR SQLCODE VARIABLE DECLARATION IS IN A NESTED COMPOUND STATEMENT -057 THE RETURN STATEMENT IN AN SQL

[Swift]forEach详解

廉价感情. 提交于 2021-02-13 03:55:44
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝( https://www.cnblogs.com/strengthen/ ) ➤GitHub地址: https://github.com/strengthen/LeetCode ➤原文地址: https://www.cnblogs.com/strengthen/p/9944939.html ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。 ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创! ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ forEach(_:) 调用以相同的顺序作为序列中的每个元件上的给定的闭合for- in循环。 定义语法 func forEach(_ body: ((offset: Int, element: Base.Element)) throws -> Void) rethrows 参数 一个闭包,它将序列的元素作为参数。 以下示例中的两个循环生成相同的输出: 1 let numberWords = [ " one " , " two " , " three " ] 2 for word in numberWords { 3 print

jsoup爬取网站图片

浪尽此生 提交于 2021-02-13 02:32:42
package com.ij34.JsoupTest; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class JsoupTest { public static void downImages(String filePath,String imgUrl) throws Exception { // 获取网址 String beforeUrl = imgUrl.substring(0,imgUrl.lastIndexOf("/")+1 ); // 图片url后面的图片名字

Javascript 垃圾回收机制

﹥>﹥吖頭↗ 提交于 2021-02-12 21:54:57
转载于 https://www.cnblogs.com/zhwl/p/4664604.html 一、垃圾回收的必要性 由于字符串、对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配。JavaScript程序每次创建字符串、数组或对象时,解释器都必须分配内存来存储那个实体。只要像这样动态地分配了内存,最终都要释放这些内存以便他们能够被再用,否则,JavaScript的解释器将会消耗完系统中所有可用的内存,造成系统崩溃。   这段话解释了为什么需要系统需要垃圾回收,JS不像C/C++,他有自己的一套垃圾回收机制(Garbage Collection)。JavaScript的解释器可以检测到何时程序不再使用一个对象了,当他确定了一个对象是无用的时候,他就知道不再需要这个对象,可以把它所占用的内存释放掉了。例如: var a = "before"; var b = "override a"; var a = b; //重写a 这段代码运行之后,“before”这个字符串失去了引用(之前是被a引用),系统检测到这个事实之后,就会释放该字符串的存储空间以便这些空间可以被再利用。 二、垃圾回收原理浅析   现在各大浏览器通常用采用的垃圾回收有两种方法:标记清除、引用计数。 1、标记清除 这是javascript中最常用的垃圾回收方式。当变量进入执行环境是

vue-cli实现原理

寵の児 提交于 2021-02-12 13:02:52
分析: https://kuangpf.com/vue-cli-analysis/create/basic-verification.html vue-cli-service : https://blog.csdn.net/weixin_34080903/article/details/88667618 vue-cli: 举个插件的栗子: 传送门: vue-cli-plugin- element 尽管我觉得vue -cli-plugin- element可以做得更好,比如自定义选择需要添加的组件,自定义主题色(vue ui的交互页面其实是提供了颜色选择器的,如下图),模板选择等 2. webpack,vue-cli,vue都使用到了插件机制。面向接口编程,确实是很优秀的想法。这个也是插件模式的一种体现插件(Plugin)模式向用户提供了一种扩展程序的接口,用户可以在程序本体之外,按照指定接口编写插件来为程序增加功能 cli插件 https://blog.csdn.net/dengdongxia/article/details/87923329 https://juejin.im/post/5b8f586c5188255c9d55eedf#comment https://juejin.im/post/5cedb26451882566477b7235 https://juejin.im