质量

 2017-11-02 02:32:55 |  0 Comments

一个可编辑表格+第三方打印程序的复杂bug调教过程

#Target 表格打印想必很多人都做过,但是做成我们这项目这样沟壑众多好不容易才填平的还真的不多.仅以此记录这令我印象深刻的三天. #一.一个需求. 公司要做结算单打印,2.0版本的系统中正在做,但是产品说要提前到1.5来做. 想要做打印怎么做呢?我们的Winform壳是C#的,并不能使用现成的HTML2Canvas等库再调用window.print.于是技术大佬们商议之后决定买一个插件来
 2017-08-27 03:06:06 |  0 Comments

Selenium 中文输入问题

今天在操作函数封装的时候发现一个问题。以前学习的时候没有注意到中文问题...

  1. driver.find_element_by_id("kw").send_keys("教程")

这一句会跳出报错

  1. SyntaxError: Non-ASCII character '\xbd' in file H:/Ses/Stu.py on line 9, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

看起来应该是因为默认编码问题?百度之,得解决方案:

  1. # -*- coding: gb18030 -*-# -*- coding: utf-8 -*-

然而:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xbd in position 0: invalid start byte

真的是很奇怪啊,头部声明UTF-8为啥会没用? 又试了好多加编码环境的办法,然而并没有什么卵用...百度找到的说这个是弱智问题的基本都是加了编码格式声明就好了,我这个问题真的是有点诡异啊。

百度找到

python编码错误:UnicodeDecodeError: 'utf8' codec can't decode

看完以后,尝试,失败。
此时心态已经有点爆炸了,这种小问题怎么会搞了这么久.....真是见鬼了。

又尝试了一下
Python文件读取编码错误问题解决之(PyCharm开发工具默认设置的坑。。。)
还是这样。这怎么搞...

尝试
测试Python中文环境

结果编码换了GBK居然正常了?我定位貌似找错位置了,不是Python的锅,是Selenium的锅!但是虫师的书里压根就没有写会出这种事啊!!!好坑啊!!!

辗转反复终于找到了

selenium使用send_keys()方法写中文报错的解决方法

尝试,终于解决了!!!!!

 2017-08-27 03:06:06 |  0 Comments

Selenium2自动化实践书上的BUG

嗯,不得不说,我还是第一次发现原来讲代码的书上代码也能出错。
问题是,你代码出错了你是怎么跑起来的啊!!!!喂!!!!
不多说,贴代码:

  1. from selenium import webdriver
  2. from time import sleep
  3. driver=webdriver.Firefox()
  4. driver.get("http://videojs.com/")
  5. video=driver.find_element_by_xpath("body/Section[1]/div/video")
  6. #此处原书写为Setion,根本没有这个CSS标签,应该是书上错了...
  7. =driver.execute_script("return arguments[0].currentSrc;",video)
  8. print (url)
  9. print("start")
  10. driver.execute_script("return agruments[0].play()",video)
  11. sleep(15)
  12. print("stop")
  13. driver.execute_script("arguments[0].pauise()",video)
  14. driver.quit()

So,就是我注释写的那里了....我很好奇虫师你是怎么跑起来的啊喂?


 2017-08-27 03:06:06 |  0 Comments

关于FireFox版本过高和Selenium兼容问题

在做虫师的Selenium教程的时候,发现自己安装的FireFox都不能用WebDriver驱动,连做get动作都很困难,而IE和Chrome都正常。一开始想跳过这个问题,也顺便拓展,于是把所有用FireFox的例子都用了Chrome。结果今天在使用Selenium的时候发现,需要用到Webdriver.FirefoxProfile(),这玩意对应的难道是webdriver.ChromeOptions()?懒得再去重新找资料了,反正以后主流浏览器也都要做测试,今天就把这个历史遗留问题解决了吧。

首先找到了Selenium支持高版本的FireFox
嗯,试试。例子:

  1. 1、用winrar打开selenium-server.jar
  2. 2、查找两个目录:customProfileDirCUSTFFCHROMEcustomProfileDirCUSTFF
  3. 3、搜索每个目录,对每个文件install.rdf,编辑如下行:
  4. 修改
  5. ........................

首先就有点小问题,这个selenium-server.jar在哪?很明显我都用Python写了,那么肯定是RC版本,但是在电脑里死活找不到这个文件。目录都看了,还是找不着...想着不会是RC版本服务器端才有这个文件吧?我也不好重新搞环境了啊?退而求其次,还是降级吧。

看了一下,FireFox版本49.0.1。在Bing上搜了一下,Selenium2好像最多只支持到36.....这一下讲了13个版本啊,有点醉。不过反正是学习,降就降吧。

于是下了一个FireFox36.04,卸载了49.01.然后下载的时候....

现在浏览器的竞争真激烈.....:)

于是卸载重装,过程不谈。
重装后就能正常用了。嗯,如果没有特别需求,版本问题果然还是降级来的最快啊。

附个下载链接:36版本

 2017-08-27 03:06:06 |  0 Comments

Vue+Jenkins自动同步测试环境搭建

每次写代码都会被测试烦到,Bug标了解决还是追着问为啥测的时候还没解决啊?答曰还没发测试,又被追着问啥时候发啊?于是只能说好好好这就发,发测试环境又得先build,我的i7 256GSSD 12G内存Build都慢的一笔,烦不胜烦。想了想,其实测这种项目完全可以不用Build,Vue自己数据驱动,编译以后直接就出结果,命令都省了。为了优化流程(偷懒),这不上Jenkins能忍?

(此处应有图片:愤怒的切图仔)

上Jenkins之前我首先考虑了一下要不要上Docker,后来想想看还是算了。一则本来就准备弄个虚拟机当服务器,再弄个docker没啥必要。二则需求也不是很复杂,就装个Jenkins就好,直接上手简单暴力。

首先,打开
Jenkins
下载最新版的Jenkins,然后用Xshell/SSH/Samba随便什么方法把它拷到你的随便什么目录下(在这里我使用的是用户目录)

然后开始安装?不不不,你还没装JDK呢。输入:

yum search java|grep jdk

找到各种版本的JDK。随便挑一个,就:

yum install java-1.7.0-openjdk

等它装完就成。哦,最好不要装1.6以下,我被坑了一次。

下一步正式开始装Jenkins了。CD到你使用的目录:

cd ~

这东西最好是放在后台运行,不然你没法打其他命令。确保这个目录下有你下载的jenkins.war文件,然后输入命令:

nohup java -jar ./jenkins.war --httpPort=80

为什么要映射到80?因为方便啊...

然后CD到你的项目目录,我的目录是用户目录/web。项目怎么跑我想我应该没必要说明了。直接:

npm i
nohup npm run dev > /dev/null 2>&1 &
这样后台运行项目也好了。然后我们来设置Jenkins.

打开浏览器,输入http:

Title - Artist
0:00