<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[GUOGUO222的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/GUOGUO222</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; GUOGUO222]]></copyright><item><title><![CDATA[null和undefined的区别]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78558068</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78558068</guid><author>GUOGUO222</author><pubDate>Fri, 17 Nov 2017 10:11:33 +0800</pubDate><description><![CDATA[null表示"没有对象"，即该处不应该有值。典型用法是：


（1） 作为函数的参数，表示该函数的参数不是对象。

（2） 作为对象原型链的终点。



Object.getPrototypeOf(Object.prototype)
// null




undefined表示"缺少值"，就是此处应该有一个值，但是还没有定义。典型用法是：


（1）变量被声明了，但没]]></description><category></category></item><item><title><![CDATA[密码加salt]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78529554</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78529554</guid><author>GUOGUO222</author><pubDate>Tue, 14 Nov 2017 13:24:54 +0800</pubDate><description><![CDATA[所谓加Salt，就是加点“佐料”。当用户首次提供密码时（通常是注册时），由系统自动往这个密码里加一些“Salt值”，这个值是由系统随机生成的，并且只有系统知道。然后再散列。而当用户登录时，系统为用户提供的代码撒上同样的“Salt值”，然后散列，再比较散列值，已确定密码是否正确。 　　这样，即便两个用户使用了同一个密码，由于系统为它们生成的salt值不同，他们的散列值也是不同的。即便黑客可以通过自己]]></description><category></category></item><item><title><![CDATA[sql查询]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78476240</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78476240</guid><author>GUOGUO222</author><pubDate>Wed, 08 Nov 2017 10:57:33 +0800</pubDate><description><![CDATA[平均存储流量值，单位MB/h
set @d1=(select min(updateTime) fromdaas_access_storage_files where status=6);
set @d2=sysdate();
selectsum(fileSize/(1024*1024))/hour(timediff(@d2,@d1)) fromdaas_access_storage_file]]></description><category></category></item><item><title><![CDATA[excel读取]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78119038</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78119038</guid><author>GUOGUO222</author><pubDate>Thu, 28 Sep 2017 07:16:42 +0800</pubDate><description><![CDATA[#coding: utf-8
import xlrd
class Xlinfo(object):
    def __init__(self,path = ''):
        # 打开工作簿
        self.xl = xlrd.open_workbook(path)
    #excel将数字默认作为float处理
    def floatToStr(self, val):
  ]]></description><category></category></item><item><title><![CDATA[浏览器兼容性测试问题]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78087753</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78087753</guid><author>GUOGUO222</author><pubDate>Mon, 25 Sep 2017 17:46:02 +0800</pubDate><description><![CDATA[1.产生原因 


不同浏览器使用内核及所支持的HTML等网页语言标准不同用户客户端的环境不同（如分辨率不同）


2.问题表现


最常见的问题就是网页元素位置混乱，错位。





3.解决方案




不断的在各浏览器间调试网页显示效果


通过对css样式控制以及通过脚本判断并赋予不同浏览器的解析标准。


在开发过程中使用当前比较流行的]]></description><category></category></item><item><title><![CDATA[Swagger - 前后端分离后的契约]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78060765</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78060765</guid><author>GUOGUO222</author><pubDate>Fri, 22 Sep 2017 11:05:40 +0800</pubDate><description><![CDATA[前后端分离

按照现在的趋势，前后端分离几乎已经是业界对开发和部署方式所达成的一种共识。所谓的前后端分离，并不是传统行业中的按部门划分，一部分人只做前端（HTML/CSS/JavaScript等等），另一部分人只做后端（或者叫服务端），因为这种方式是不工作的：比如很多团队采取了后端的模板技术（JSP, FreeMarker, ERB等等），前端的开发和调试需要一个后台Web容器的支持，从而无法]]></description><category></category></item><item><title><![CDATA[获取窗口大小]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78058288</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78058288</guid><author>GUOGUO222</author><pubDate>Thu, 21 Sep 2017 23:42:13 +0800</pubDate><description><![CDATA[for key, value in driver.get_window_size(driver.current_window_handle).items():
    print key,value]]></description><category></category></item><item><title><![CDATA[quit 和close 区别]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/78058228</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/78058228</guid><author>GUOGUO222</author><pubDate>Thu, 21 Sep 2017 23:33:01 +0800</pubDate><description><![CDATA[在运行test case 中如果碰到timeout 等失败情况时，再去build project，会出现失败，系统提示
无法将IEDriverServer.exe 拷贝到debug目录下

并且在任务管理器中发现有多个IEDriverServer.exe正在运行

解决方法:

在关闭driver时用Driver.Quit();不要用Driver.Close();



Dr]]></description><category></category></item><item><title><![CDATA[webdriver Debug]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77986321</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77986321</guid><author>GUOGUO222</author><pubDate>Thu, 14 Sep 2017 22:38:55 +0800</pubDate><description><![CDATA[Python 提供了logging模块给运行中的应用提供标准的信息输出接口，他提供了basicConfig()方法用于基本信息的定义。开启Debug模块，可以捕捉到客户端向服务器发送的请求。
但无法获取服务器返回的应答信息，Selenium Server可以

import logging
logging.basicConfig(level= logging.DEBUG)]]></description><category></category></item><item><title><![CDATA[验证码的处理]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77986170</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77986170</guid><author>GUOGUO222</author><pubDate>Thu, 14 Sep 2017 22:25:06 +0800</pubDate><description><![CDATA[使用验证码好处：

有效的防止采用机器猜测方法对口令的刺探，在一定程度上增加了安全性


测试时：
1.去掉验证码
    只适用于测试环境，正式环境则会存在风险
2.设置万能验证码
3.验证码识别技术
    通过Python-tesseract来识别验证码（是光学字符识别Tesseract OCR引擎的Python封装类，识别率达不到100%）
4.记录cookie
 ]]></description><category></category></item><item><title><![CDATA[WebDriver HTML5]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77985885</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77985885</guid><author>GUOGUO222</author><pubDate>Thu, 14 Sep 2017 21:56:39 +0800</pubDate><description><![CDATA[WebDriver支持在指定的浏览器上测试HTML5
可以使用Javascript在任何浏览器上测试HTML5
如：IE9+、Firefox、Chrome、Opera都支持video元素

#coding: utf-8
__author__ = 'KK'

from selenium import webdriver
import time

driver =webdriver.Chrom]]></description><category></category></item><item><title><![CDATA[python cookies]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77985589</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77985589</guid><author>GUOGUO222</author><pubDate>Thu, 14 Sep 2017 21:36:51 +0800</pubDate><description><![CDATA[#coding: utf-8
__author__ = 'KK'
from selenium import webdriver

driver =webdriver.Chrome()
driver.get("http://www.youdao.com")
# 获取浏览器所有cookie信息
cookies = driver.get_cookies()
print cookies

# 添加一个co]]></description><category></category></item><item><title><![CDATA[python selenium 操作滚动条]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77964877</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77964877</guid><author>GUOGUO222</author><pubDate>Wed, 13 Sep 2017 13:54:10 +0800</pubDate><description><![CDATA[兼容firefox、chrome、IE的方法：
$(window).scrollTop(300);
$(document).scrollTop(300)
$("html,body").scrollTop(300);

# -*- coding:utf-8 -*-

import unittest
from selenium import webdriver
import time
from]]></description><category></category></item><item><title><![CDATA[swap分区]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77950239</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77950239</guid><author>GUOGUO222</author><pubDate>Tue, 12 Sep 2017 21:53:08 +0800</pubDate><description><![CDATA[Swap分区
 


Swap分区在系统的物理内存不够用的时候，把硬盘空间中的一部分空间释放出来，以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序，这些被释放的空间被临时保存到Swap分区中，等到那些程序要运行时，再从Swap分区中恢复保存的数据到内存中。]]></description><category></category></item><item><title><![CDATA[OpenStack]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77933694</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77933694</guid><author>GUOGUO222</author><pubDate>Mon, 11 Sep 2017 15:30:09 +0800</pubDate><description><![CDATA[OpenStack是一个云平台管理的项目，它不是一个软件，主要参考亚马逊AWS，由很多其他开源软件整合而成的。


    - 以Python编程语言编写
    - 整合Tornado网页服务器、Nebula运算平台
    - 使用Twisted软件框架
    - 遵循Open Virtualization Format、AMQP、SQLAlchemy等标准
    - 虚拟机]]></description><category></category></item><item><title><![CDATA[私有云 公有云 混合云]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77933405</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77933405</guid><author>GUOGUO222</author><pubDate>Mon, 11 Sep 2017 15:10:31 +0800</pubDate><description><![CDATA[私有云(Private Clouds)
是为一个客户单独使用而构建的，因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施，并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内，也可以将它们部署在一个安全的主机托管场所。
公有云
通常指第三方提供商用户能够使使用的云，公有云一般可通过 Internet 使用，可能是免费或成本低廉的。这种云有许多实例，可]]></description><category></category></item><item><title><![CDATA[元素定位]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77923084</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77923084</guid><author>GUOGUO222</author><pubDate>Sun, 10 Sep 2017 16:50:53 +0800</pubDate><description><![CDATA[WebDriver是通过页面元素的标签名和属性值来定位元素的
 
定位方式：
· 根据元素本身属性
· 根据元素所在位置
· 根据与元素相关的其他元素的属性
 
八种元素定位方法：




序号


定位依据


python函数


说明


备注




1


id


find_element_by_id()]]></description><category></category></item><item><title><![CDATA[冒烟测试 与 BVT]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77915982</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77915982</guid><author>GUOGUO222</author><pubDate>Sat, 09 Sep 2017 16:27:43 +0800</pubDate><description><![CDATA[冒烟测试，它和回归测试的性质一样——只是一个测试活动，并不是一个测试阶段。
冒烟测试贯穿于测试的任何一个阶段，单元测试里会有冒烟测试、集成测试里会有冒烟测试、系统测试里也会有冒烟测试。
冒烟测试和其他所有的测试活动的目的不一样，它不是为了证明程序存在BUG，而是为了证明程序的基本功能、核心功能没有问题。
 
当冒烟测试发生在集成测试的子系统间集成和系统测试的时候，这个时候，人们常常把冒烟测]]></description><category></category></item><item><title><![CDATA[云计算 IaaS PaaS SaaS DaaS]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77890966</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77890966</guid><author>GUOGUO222</author><pubDate>Fri, 08 Sep 2017 09:26:21 +0800</pubDate><description><![CDATA[云计算
云其实是互联网的一个隐喻，云计算其实就是使用互联网来接入存储或者运行在远程服务器端的应用，数据，或者服务。
 任何一个使用基于互联网的方法来计算，存储和开发的公司，都可以从技术上叫做从事云的公司。
云也是分层的 任何一个在互联网上提供其服务的公司都可以叫做云计算公司。
其实云计算分几层的，分别是Infrastructure（基础设施）-as-a-
 Service，Platfor]]></description><category></category></item><item><title><![CDATA[TDD、BDD与ATDD CI]]></title><link>https://blog.youkuaiyun.com/GUOGUO222/article/details/77888186</link><guid>https://blog.youkuaiyun.com/GUOGUO222/article/details/77888186</guid><author>GUOGUO222</author><pubDate>Thu, 07 Sep 2017 23:14:12 +0800</pubDate><description><![CDATA[1. 首先了解一下这三个开发模式都是什么意思：



TDD：测试驱动开发（Test-Driven Development）



测试驱动开发是敏捷开发中的一项核心实践和技术，也是一种设计方法论。TDD的原理是在开发功能代码之前，先编写单元测试用例代码，测试代码确定需要编写什么产品代码。TDD的基本思路就是通过测试来推动整个开发的进行，但测试驱动开发并不只是单纯的测试工作，而是把]]></description><category></category></item></channel></rss>