<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TestCase_test的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/TestCase_test</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TestCase_test]]></copyright><item><title><![CDATA[redis 学习记录]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/127849474</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/127849474</guid><author>TestCase_test</author><pubDate>Mon, 14 Nov 2022 16:07:58 +0800</pubDate><description><![CDATA[redis 入门]]></description><category></category></item><item><title><![CDATA[什么是好的测试用例？]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/126706420</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/126706420</guid><author>TestCase_test</author><pubDate>Mon, 05 Sep 2022 15:31:51 +0800</pubDate><description><![CDATA[什么是好的测试用例？]]></description><category></category></item><item><title><![CDATA[python计算文件的16进制]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/121249514</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/121249514</guid><author>TestCase_test</author><pubDate>Wed, 10 Nov 2021 15:31:49 +0800</pubDate><description><![CDATA[def file_hex(file):
    if os.path.exists(file):
        hex_list = []
        infile = open(file, "rb")
        for i in infile.read():
            hex_list.append(hex(i)[2:])
        infile.close()
        return ''.join(hex_list)
    else:
        print]]></description><category></category></item><item><title><![CDATA[python 私钥加密后再进行sha256加密]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/121249366</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/121249366</guid><author>TestCase_test</author><pubDate>Wed, 10 Nov 2021 15:28:41 +0800</pubDate><description><![CDATA[私钥加密后
pri_file = 'client_private.pem'
if os.path.exists(pri_file):
    pass
else:
    random_gen = Random.new().read
    # 生成秘钥对实例对象：1024是秘钥的长度
    rsa = RSA.generate(4096, random_gen)
    # Client的秘钥对的生成
    private_pem = rsa.exportKey()
    with open(pri]]></description><category></category></item><item><title><![CDATA[通信上的RX、TX分别表示什么？]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/120152068</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/120152068</guid><author>TestCase_test</author><pubDate>Tue, 07 Sep 2021 10:02:11 +0800</pubDate><description><![CDATA[RX   表示发送数据  Receive(rx) Data 的简写形式
TX   表示接受数据  Transmit(tx) Data 的简写形式


]]></description><category></category></item><item><title><![CDATA[功能和策略的设计原则]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/120152006</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/120152006</guid><author>TestCase_test</author><pubDate>Tue, 07 Sep 2021 10:00:15 +0800</pubDate><description><![CDATA[根据需求文档可将现有需求归类为功能和策略。
当需求的描述是一个较为独立的过程时，该过程为功能。
当需求的描述是为了有更好的效果，该过程称为策略。


]]></description><category></category></item><item><title><![CDATA[python读取excel]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/119216902</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/119216902</guid><author>TestCase_test</author><pubDate>Thu, 29 Jul 2021 17:43:57 +0800</pubDate><description><![CDATA[import xlrd

def read_xlsx():
    with xlrd.open_workbook('', 'rb') as book:
        table = book.sheet_by_name('Sheet1')
        row_num = table.nrows
        col_num = table.ncols
        xlsx_list = []
        key = table.row_values(0)
        if row_nu]]></description><category></category></item><item><title><![CDATA[星空特效]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/115200865</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/115200865</guid><author>TestCase_test</author><pubDate>Thu, 25 Mar 2021 10:45:40 +0800</pubDate><description><![CDATA[&lt;!DOCTYPE html&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" style="overflow: hidden" ng-app="myApp"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"/&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=10,Chrome=1"/&gt;
    &lt;meta http-equiv=.]]></description><category></category></item><item><title><![CDATA[Apache James邮件服务器搭建流程(亲测)]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/114868500</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/114868500</guid><author>TestCase_test</author><pubDate>Tue, 16 Mar 2021 10:10:18 +0800</pubDate><description><![CDATA[领导指派给一个任务，搭建james邮件服务器
1、环境搭建
1)下载安装Java jdk
2)到Apache网站上下载James:http://james.apache.org/download.cgi#Apache_James_Server
2、启动James
1)解压下载的tar包，进入bin目录
2)赋予run.sh &amp; phoenix.sh执行权限chmod +x run.sh phoenix.sh（run.sh &amp; phoenix.sh一开始没有执行权限）

3)执行./run.s]]></description><category></category></item><item><title><![CDATA[Linux 环境下禅道搭建流程（亲测）]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/114082407</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/114082407</guid><author>TestCase_test</author><pubDate>Thu, 25 Feb 2021 14:46:31 +0800</pubDate><description><![CDATA[Linux环境搭建禅道项目管理工具

1.开源版安装包下载

[root@iZbp ~]# wget http://dl.cnezsoft.com/zentao/9.0.1/ZenTaoPMS.9.0.1.zbox_64.tar.gz

2.直接解压安装包到/opt目录下

[root@iZbp ~]# tar -zxvf ZenTaoPMS.9.0.1.zbox_64.tar.gz -C /opt

3.修改禅道自带apache、mysql端口

为了不占用Server上默认的80、3306端口，我们修改]]></description><category></category></item><item><title><![CDATA[requests 请求封装]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/113255391</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/113255391</guid><author>TestCase_test</author><pubDate>Wed, 27 Jan 2021 17:03:04 +0800</pubDate><description><![CDATA[import requests, json


class API:
    def api_method(self, method, url, param=None, header=None):
        session = requests.session()
        if method == ('get' or 'GET'):
            if header is None:
                try:
                    res = ses]]></description><category></category></item><item><title><![CDATA[http状态码]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/112261230</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/112261230</guid><author>TestCase_test</author><pubDate>Wed, 06 Jan 2021 11:36:22 +0800</pubDate><description><![CDATA[1** 信息，服务器收到请求，需要请求者继续执行操作
2** 成功，操作被成功接收并处理
3** 重定向，需要进一步的操作以完成请求
4** 客户端错误，请求包含语法错误或无法完成请求
5** 服务器错误，服务器在处理请求的过程中发生了错误


...]]></description><category></category></item><item><title><![CDATA[appium接口总结]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/112261215</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/112261215</guid><author>TestCase_test</author><pubDate>Wed, 06 Jan 2021 11:35:13 +0800</pubDate><description><![CDATA[收起键盘：driver.hide_keyboard()
启动Activity参数（包名，activity名字）：driver.start_activity(‘com.example.android.apis’, ‘.Foo’)
获取当前Activity：driver.current_activity
截取当前屏幕：driver.get_screenshot_as_file(“文件名”)
打开通知栏（打开下拉通知栏）：driver.open_notifications()
检查应用是否已经安装（包名）：dri]]></description><category></category></item><item><title><![CDATA[python按照json首字符进行正序排列（a-z）]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/112261051</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/112261051</guid><author>TestCase_test</author><pubDate>Wed, 06 Jan 2021 11:30:16 +0800</pubDate><description><![CDATA[p
按照首字符进行正序排列:
def sort_az(json_data):
    new_str= sorted(json_data.items(), key=lambda item: item[0], reverse=False)
    return new_str



]]></description><category></category></item><item><title><![CDATA[使用python requests接口请求返回“hash校验不通过”]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/112260858</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/112260858</guid><author>TestCase_test</author><pubDate>Wed, 06 Jan 2021 11:25:22 +0800</pubDate><description><![CDATA[使用json序列化的时候，使用json.dumps()生成的的json会在key和value之间默认加一个空格，导致服务器hash校验不通过。解决办法：在使用json.dumps()时加上separators=(’,’, ‘:’)
eg：
import json
json_str1={"name":'hy',"pageNo":1,"pageSize":12}

print(json.dumps(json_str1))
print(json.dumps(json_str1,separators=(',', ']]></description><category></category></item><item><title><![CDATA[python sha256 base64 加密]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/112260150</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/112260150</guid><author>TestCase_test</author><pubDate>Wed, 06 Jan 2021 11:00:11 +0800</pubDate><description><![CDATA[字符串sha256加密后再进行base64加密
def base64sha256(message):
    hash_str = hashlib.sha256(message.encode())
    sig = base64.b64encode(hash_str.digest()).decode()
    return sig


]]></description><category></category></item><item><title><![CDATA[yaml 读取写入封装]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/111470178</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/111470178</guid><author>TestCase_test</author><pubDate>Mon, 21 Dec 2020 11:27:16 +0800</pubDate><description><![CDATA[import yaml
import os

path = os.path.join(os.path.dirname(os.path.dirname(__file__)))

def open_yaml(flag, file='three_api.yaml'):
    # 读取yaml
    try:
        with open(path + "/hy_file/" + file, 'rb') as f:
            temp = yaml.load(f.read())
      ]]></description><category></category></item><item><title><![CDATA[logging模块封装]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/111470037</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/111470037</guid><author>TestCase_test</author><pubDate>Mon, 21 Dec 2020 11:21:17 +0800</pubDate><description><![CDATA[# _*_ coding: utf-8 _*_
import logging
import os.path
import time


class Logger(object):

    def __init__(self, logger="comment"):
        '''
            指定保存日志的文件路径，日志级别，以及调用文件
            将日志存入到指定的文件中
        '''
        # 创建一个logger
        self.logg]]></description><category></category></item><item><title><![CDATA[python 连接mysql封装]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/111315463</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/111315463</guid><author>TestCase_test</author><pubDate>Thu, 17 Dec 2020 14:56:52 +0800</pubDate><description><![CDATA[import pymysql

# mysql class
class MySqlUtil(object):

    # 连接数据库,初始化游标
    def __init__(self):

        self.conn = pymysql.connect(host=db_host,
                                    user=db_user,
                                    password=db_pwd,
    ]]></description><category></category></item><item><title><![CDATA[字和字节的区别]]></title><link>https://blog.youkuaiyun.com/TestCase_test/article/details/109715667</link><guid>https://blog.youkuaiyun.com/TestCase_test/article/details/109715667</guid><author>TestCase_test</author><pubDate>Mon, 16 Nov 2020 10:28:14 +0800</pubDate><description><![CDATA[术语位，“字节”和“字”用于描述计算机数据单位或计算机存储单位。这里主要指存储单位
最小的存储单位称为位（bit）：
字节的标准定义：一个字节均为8位
一个英文字符和英文标点占用一个字节，一个中文字符和中文标点占用2个字节
硬盘容量是40gb、80gb、100gb，这里的b指是的byte也就是“字节”。
1 kb = 1024 bytes =2^10 bytes
1 mb = 1024 kb = 2^20 bytes
1 gb = 1024 mb = 2^30 bytes
备注：
一个字不一定等于两个字节，]]></description><category></category></item></channel></rss>