linux系统Sikuli安装操作手册

前言

在上一个公司,因为领导要求实现,对一个在中标麒麟linux系统,和windows系统的CS管理工具的功能自动化测试,调研了几天,才确定使用sikuli。符合领导要求,开源,支持双系统的C/S工具测试。
本人当时是自动化测试的小白,对sikuli工具从零开始摸索,因为国内资料很少,用起来遇到许多或大或小的问题。到最后搭建好自动化的测试框架,各种辛苦,只有自己知道。
但是领导仍然不满意,鉴于自己觉得自动化测试的更大发展区域,是在互联网,金融的性能,接口测试方面。于是做了几个月我就离职了,目前离职1个月,在家学习web端功能测试,为下一份工作准备。今天突然想到这点,分享是快乐的,分享出来,供有需要的同行者参考。
好啦,扯远啦,此安装步骤,是在号称中国的linux系统,中标麒麟上安装的步骤。因为中标麒麟是很小众的一个linux系统,所以找资料也很难找。不过中标麒麟其实是centox派系的,基本可以当做centox系统来看。

1.  卸载旧的JDK版本

若无JDK或JRE需卸载,则跳过此步。

1)     终端输入命令java -version查看安装的JAVA 组件。若提示已存在java 版本。查看版本号。

测试机器显示的版本信息如下:

java version"9"

Java(TM) SERuntime Environment (build 9+181)

JavaHotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)

2)     用rpm -qa命令查看所有的软件包,搜索java关键字。找出已经安装的java版本。测试机器找到的版本为:java-1.7.0-openjdk-1.7.0.25-2.3.10.3.nk.1.x86_64

3)     用yum -y remove java-1.7.0-openjdk-1.7.0.25-2.3.10.3.nk.1.x86_64 命令[未知作者1] ,删除此软件包。测试机器打印删除信息如下:

…...

移除  1 软件包 (+1 依赖软件包)

安装大小:91 M

Downloadingpackages:

Running transactioncheck

Runningtransaction test

Transactiontest succeeded

Runningtransaction

警告:RPM 数据库已被非 yum 程序修改。

正在删除    : icedtea-web-1.4-2.nk.2.x86_64                                                                                                                              1/2

正在删除    :1:java-1.7.0-openjdk-1.7.0.25-2.3.10.3.nk.1.x86_64                                                                                                          2/2

验证中      : 1:java-1.7.0-openjdk-1.7.0.25-2.3.10.3.nk.1.x86_64                                                                                                          1/2

验证中      : icedtea-web-1.4-2.nk.2.x86_64                                                                                                                               2/2

删除:

java-1.7.0-openjdk.x86_641:1.7.0.25-2.3.10.3.nk.1

作为依赖被删除:

icedtea-web.x86_640:1.4-2.nk.2

其后用相同的步骤,删除搜索出的JAVA相关程序包:

javapackages-tools-0.14.1-2.nk.1.noarch

tzdata-java-2013c-1.nk.3.noarch

4)     卸载完毕之后,在终端输入:javac 或java -version 此时终端会提示:未找到命令,即代表此时原来的JDK版本已经卸载了。已经完成了对JDK的卸载。--在测试机上,删除上面三个软件包后,还是能看到java的软件包,应该是卸载不完全?!若卸载不完全,则先安装JDK 8.0,再更改profile配置。

2.  安装jdk 8.0版本和配置

1)     将jdk-8u151-linux-x64.rpm安装文件,拷贝到/usr/lib目录,用rpm -ivh jdk-8u151-linux-x64.rpm安装。生成的java文件夹在/usr目录下。

2)     若卸载旧的JDK未成功,则尝试用命令sudo gedit /etc/profile打开profile文件,在文件最后添加如下语句:

#set java environment

exportJAVA_HOME=/usr/java/jdk1.8.0_151

exportJRE_HOME=/usr/java/jdk1.8.0_151/jre

exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

添加后,保存此文件。

再在终端输入命令:source /etc/profile。

原文件配置,备注供参考:

# We are Setting environment variables forJAVA-9

JAVA_HOME=/usr/java/jdk-9

JAVA_BIN=/usr/java/jdk-9/bin

PATH=$JAVA_BIN:$PATH

CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

CATALINA_HOME=/usr/local/apache-tomcat-9.0.1

export JAVA_HOME JAVA_BIN PATH CLASSPATH

3) 最后,在终端输入命令:javac -version,或者java –version, 可以看到终端关于java的版本,已经变成了新安装的JDK 8。表示JDK环境变量就配置成功了。

4) 重启电脑,让profile设置更新到系统。

3.  安装OpenCV

1) cmake安装

a.   OpenCV 2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。这个软件可以在linux内直接安装,但是yum安装的版本可能会太旧,需要安装3.0及之后的版本,请直接参考步骤b。

输入:yum -install cmake

y

y

安装完成 cmake。

输入 cmake -version查看版本安装信息。显示如下:

[root@localhostusr]# cmake -version

cmake version 2.8.11

b.   若a步骤安装的版本太旧,则需要去官网(https://cmake.org/download/)下载新版本,重新安装。下载“cmake-3.10.0-rc3.tar.gz”版本后,拷贝到目录:/usr,终端输入命令解压:tar -xvzf cmake-3.10.0-rc3.tar.gz。

c.   解压后打开/usr/cmake-3.10.0-rc3目录,运行bootstrap文件。

d.      运行完bootstrap之后,在终端输入gmake(如果gmake命令不行,试试cmake,反之亦然)命令。

e.      make命令运行完,再输入gmake install(如果gmake install 命令不行,试试cmake install,反之亦然)命令。至此安装完成。输入cmake -version命令查看cmake版本,显示cmakeversion 3.10.0-rc3,表示安装成功。

f.       这一步不用看,作参考。

此时,要确保电脑已经先安装 libgtk2.0-dev 和 pkg-config,否则后期编译运行程序会出现类似如下的问题:

OpenCVError: Unspecified error (The function is not implemented. Rebuild the librarywith Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian,install libgtk2.0-dev and pkg-config, then re-run cmake or configure script) incvNamedWindow, file /usr/local/opencv/OpenCV-2.0.0/src/highgui/window.cpp, line100
terminate called after throwing an instance of 'cv::Exception'

2)   OpenCV安装

g.   此软件包,事先已经下载好。如此次安装下载的是tar.gz软件包。在安装前要解压缩,命令如下:

tar -xvzf opencv-2.4.13.4.tar.gz

h.   解压后,cd命令进入opencv的目录(源码的目录,打开终端,按顺序输入如下命令)

mkdir build

cd build

cmake ..  #此符号后为注释:注意cmake与..之间有个空格

make    #如果make不运行,输入gmake运行

sudo make install #如果make install 不运行,输入gmake install 运行.如果是以为管理员用户登陆,sudo不必要输入

i.   安装后进行路径配置。

将opencv的库加入到如下文件内路径,从而让系统可以找到。打开文件:

sudo gedit/etc/ld.so.conf.d/opencv.conf

在末尾加入/usr/local/lib,保存退出。再输入:

sudo ldconfig #使配置生效

install

j.   上一步碰到的问题,备注作为参考:

[root@localhost build]# sudo ldconfig

若提示:

ldconfig:/opt/remote-viewer/libs/libspice-client-gtk-3.0.so.1 不是符号连接

ldconfig:/opt/remote-viewer/libs/libspice-client-glib-2.0.so.1 不是符号连接

ldconfig: /opt/remote-viewer/libs/libspice-controller.so.0不是符号连接

输入如下命令:

[root@localhost build]# sudo ldconfig–v  #查看,找到如下

ldconfig:/opt/remote-viewer/libs/libspice-client-gtk-3.0.so.1 不是符号连接

libspice-client-gtk-3.0.so.1-> libspice-client-gtk-3.0.so.1.2.0

ldconfig: /opt/remote-viewer/libs/libspice-client-glib-2.0.so.1不是符号连接

libspice-client-glib-2.0.so.1-> libspice-client-glib-2.0.so.1.6.0

ldconfig:/opt/remote-viewer/libs/libspice-controller.so.0 不是符号连接

执行如下命令:

[root@localhost build]# sudo ln -sf/opt/remote-viewer/libs/libspice-client-gtk-3.0.so.1.2.0/opt/remote-viewer/libs/libspice-client-gtk-3.0.so.1

[root@localhost build]# sudo ln -sf/opt/remote-viewer/libs/libspice-client-glib-2.0.so.1.6.0/opt/remote-viewer/libs/libspice-client-glib-2.0.so.1

[root@localhost build]# sudo ln -sf/opt/remote-viewer/libs/libspice-controller.so.0.0.0/opt/remote-viewer/libs/libspice-controller.so.0

然后再执行一次:

[root@localhost build]# sudo ldconfig

确认未再提示:不是符号链接。

k.      继续安装opencv,再更新如下文件,终端输入如下命令:

sudo gedit /etc/bash.bashrc

末尾加入如下:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export PKG_CONFIG_PATH

保存退出,输入命令:

[root@localhost usr]# source/etc/bash.bashrc

#使配置生效

[root@localhost usr]# sudo updatedb

#更新database

l.       在运行下面的命令之前,可重新开启终端来使配置生效。

m.    运行如下命令,查看版本:

[root@localhostusr]# pkg-config --modversion opencv

2.4.13.4

至此,安装完成。

n.      比较有参考性的网址备注:http://blog.csdn.net/jay463261929/article/details/53580538、http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html下的例子测试时,输入

[root@localhost c]# ./find_obj

./find_obj: symbol lookup error:/usr/local/lib/libopencv_ocl.so.2.4: undefined symbol:_ZN2cv16TLSDataContainerC2Ev

报错未找到,没空研究了,有空再研究-类似问题网址:

http://blog.csdn.net/cww0403/article/details/20063223

http://blog.csdn.net/xunmeng2002/article/details/41349791

4.  安装tesseract-orc

先装leptonica

1)将leptonica-1.69.tar.gz拷贝到目录:/usr,终端输入命令解压:tar -xvzf leptonica-1.69.tar.gz。

2)进入/usr/leptonica-1.69目录,查看readme.html文件,查看安装方法,个人选择了第二种方法。如下:

3)双击configure文件,运行。

4)在此目录下打开终端。输入命令make

5)再make install安装完成。运行make check进行检查。

6)安装后,建立link文件到/usr/local/lib目录下(若已经自动生成此link,则步骤6可省略)。在任意位置打开终端,输入如下命令:

[root@localhost usr]# ln -s /usr/local/lib/liblept.so.3.0.0/usr/lib/liblept.so.3

7)建立此link后,继续安装tesseract。

再安装tesseract

8)拷贝tesseract-3.02.02-4.el7.nux.x86_64.rpm到目录usr目录下。

9)在此目录下输入命令:[root@localhost usr]# rpm -ivhtesseract-3.02.02-4.el7.nux.x86_64.rpm --nodeps --force

10)

备注:加上后面这两个参数的意义就在于,安装时不再分析包之间的依赖关系而直接安装,也就不会再提示error: Failed dependencies:这样的错误了。不加这两个参数,可能会提示如下错误:

警告:tesseract-3.02.02-4.el7.nux.x86_64.rpm: Header V4 RSA/SHA1Signature, key ID 85c6cd8a: NOKEY

错误:Failed dependencies:

liblept.so.3()(64bit) is needed bytesseract-3.02.02-4.el7.nux.x86_64

11)装好tesseract后,用如下命令:

[root@localhost usr]#ldd /usr/bin/tesseract

查看与此软件相关的库文件是否都连接成功。

备注参考,安装中问题:

用[root@localhostlib]# ldd /usr/bin/tesseract

查看连接的共享文件,得到:

linux-vdso.so.1=>  (0x00007ffff0743000)

libtesseract.so.3=> /usr/lib64/libtesseract.so.3 (0x00007fc1e228e000)

liblept.so.3 => not found

libpthread.so.0=> /usr/lib64/libpthread.so.0 (0x00000038e5c00000)

libstdc++.so.6=> /usr/lib64/libstdc++.so.6 (0x00000038f5000000)

libm.so.6=> /usr/lib64/libm.so.6 (0x00000038e6800000)

libgcc_s.so.1=> /usr/lib64/libgcc_s.so.1 (0x00000038e8000000)

libc.so.6=> /usr/lib64/libc.so.6 (0x00000038e5800000)

/lib64/ld-linux-x86-64.so.2(0x00000038e5000000)

liblept.so.3 => not found

红色字体,则表示liblept.so.3没有连接成功到库文件。需要安装好对应的库文件,再继续装tesseract。

5.  安装wmctrl

1)     拷贝rpm文件到usr目录,输入命令:

[root@localhost usr]# rpm -ivh wmctrl-1.07-12.el6.i686.rpm --nodeps--force

2)     安装成功。

6.  安装xdotool

1)     打开终端,输入:yum install xdotool

2)     自动安装。安装后版本:xdotool version 2.20110530.1

7.  安装SIKULI

1)     在usr目录下新建一个文件夹,建议名为“Sikuli”,将sikulixsetup-1.1.1.jar拷贝到此目录。然后,在此目录下打开终端。安装开始前,确保网络可以上外网,如baidu.com。

2)     输入命令java -jar sikulixsetup-1.1.1.jar,进行安装。

3)     前三个选择界面,都选择“是”,在三个option的勾选界面,如无特殊要求,勾选第一个option(使用python作为默认的脚本开发语言)。

4)     其他安装步骤,参考window下的安装步骤。

5)     安装中一些报错的解决方法,主要靠查看安装日志文件SikuliX-1.1.1-SetupLog.txt的记录:

情况1,报错描述为:

[error(17-10-26 13:55:50)] RunTimeSETUP: loadLib: libVisionProxy.so not usable:

java.lang.UnsatisfiedLinkError:/root/.Sikulix/SikulixLibs_201703291041/libVisionProxy.so: liblept.so.3: 无法打开共享对象文件: 没有那个文件或目录

解决方法:按照安装手册的章节4,重新安装telptonica和tesseract工具。

情况2,报错提示,OpenCV缺失,则需要按照手册内章节3,安装好OpenCV。

情况3,如提示:[error] RunTimeINIT:  ***terminating: Java version must be 1.7 or later!则输入[root@localhost usr]# source /etc/profile

并enter后,再次输入java解压命令进行安装。

情况4,若前提工具安装配置都正确,但是安装中,却未成功。则尝试重新安装,安装过程中,注意查看界面的说明,将需要下载的插件(安装过程中,界面会提示是否重新下载),点击NO,重新下载。----排除之前下载的插件不完整的影响。

8.  启动SIKULI

Sikuli文件夹内,鼠标双击runsikulix的shell文件,启动sikuli的主界面,开始编写自动化测试用例。

启动问题记录:

1) 若双击启动后,主界面未弹出。则在此目录下打开终端,用命令启动。输入:

./ runsikulix

查看错误提示消息,再定位具体问题。

2) 终端若提示:

[error]RunTimeIDE:  *** terminating: loadlib:libVisionProxy.so not available in /root/.Sikulix/SikulixLibs_201703300100

则依照提示目录/root/.Sikulix/SikulixLibs_201703300100下查看libVisionProxy.so文件是否存在,若不存在。在根目录下搜索libVisionProxy.so文件,找到后Copy到/root/.Sikulix/SikulixLibs_201703300100目录。若没找到这个文件,则需要安装tesseract生成这个文件(能安装sikuli,系统一般都有此文件了)。


[未知作者1]直接用 yum -y remove java命令,也能删除java 7

中标麒麟、linux系统-Sikuli安装操作手册相关推荐

  1. 中标麒麟高级系统V7安装PG11

    中标麒麟高级系统V7安装PG11 服务器配置 硬件环境 服务器的硬件配置 服务器硬件配置表 机型 组件 型号 数量 服务器机型 CPU 内存 硬盘 网卡 软件环境 Linux系统为 neokylin7 ...

  2. linux软件包管理 pdf,中标麒麟Linux系统软件包管理介绍(22页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统软件包管理介绍 技术创新,变革未来 本章目标 •了解中标麒麟Linux服务器操作系统中应用程序的 组成: •了解中标麒麟Linux服务器 ...

  3. 国产化探索之路---中标麒麟 Linux系统下,FTP服务器部署

    中标麒麟 Linux系统下,FTP服务器部署 1.安装FTP软件包 yum install vsftpd -y 2.创建ftp用户密码 useradd ftpuserecho "ftpuse ...

  4. 麒麟Linux强制修改只读文件,中标麒麟Linux系统文本和文件处理介绍(23页)-原创力文档...

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统文本和文件处理介绍 技术创新,变革未来 本章目标 •使用工具来抽取.分析和处理文本数据 •使用文件查询命令 查看文件内容 •cat ∶ ...

  5. 中标麒麟linux系统忘记root密码,中标麒麟(龙芯CPU)--忘记root密码怎么修改?

    中标麒麟桌面版和服务器版均采用GRUB2为启动器,无法通过单用户模式重置root密码.下面将介绍如何重置中标麒麟系统的root密码: 桌面版 1.修改grub2引导 在正常系统入口上按下"e ...

  6. 2021-11-22--中标麒麟-Linux系统扩容根目录磁盘空间

    title categories tags abbrlink date updated 中标麒麟-Linux系统扩容根目录磁盘空间 Linux 中标麒麟 yum 6db4 2021-11-22 15: ...

  7. 麒麟linux创建用户组,麒麟Linux系统用户和组管理指南(21页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统用户和组管理指南 技术创新,变革未来 本章目标 •熟悉中标麒麟Linux服务器操作系统中用户和组的 基本操作命令和方法: •了解用户和用 ...

  8. linux麒麟编码方式,麒麟Linux系统vi文本编辑器介绍(24页)-原创力文档

    中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统vi文本编辑器介绍 技术创新,变革未来 本章目标 • vi 和vim 的三种主要模式 • vi 的基本使用 vi •vi是一种广泛存在于 ...

  9. 中标麒麟系统u盘安装_U盘安装中标麒麟Linux桌面版的方法

    U盘安装中标麒麟Linux桌面版的方法 发布时间:2014-11-16 14:21:35来源:红联作者:qajcsyq (无法插图,希望大家仔细理解) U盘安装中标麒麟桌面版分以下几步. 第一步:下载 ...

最新文章

  1. 为品牌管理增加检索名称和状态项
  2. Today:基于 Electron 和 Vue.js 的 GTD 应用
  3. php 长文本_php字符串太长怎么办
  4. linux安装phpredis扩展
  5. Winform登录窗体登录仿asp.net验证成功后进入主界面
  6. java泛型编程_Java编程泛型限定代码分享
  7. Percona 成为 MariaDB 基金会铜牌赞助商
  8. 攻防比赛_深度:一场攻防杂乱的比赛,凸显了索肖三中卫阵型的核心是谁
  9. mysql第二天无法连接_jdbc 连接mysql 第二天就连接不成功,什么原因?-问答-阿里云开发者社区-阿里云...
  10. 进阶04 4 Collection集合类+Iterator迭代器+增强for+泛型
  11. FISCO BCOS(九)——— WeBase的节点前置服务
  12. 设有一头小母牛,从出生第四年起每年生一头小母牛,按此规律,第N年时有几头母牛?...
  13. 超级安全!Python 合成多张图片到PDF格式
  14. 规划资源管理常用表格
  15. 纯干货,dp和px,那些不得不吐槽的故事—Android平台图片文字元素单位浅析
  16. 详解TCP 三次握手和四次挥手
  17. android 强制退出程序,Android 强制且彻底的退出app
  18. 评测酷睿i5 12500h和i7 12650h差多少 i512500h和i712650h对比
  19. TCP/IP sysctl命令参数
  20. c++工程error lnk2001解决方法

热门文章

  1. Oracle表空间增加数据文件
  2. 常用eclipse快捷键总结(后续会用增加)
  3. davinci-0.3.0安装部署
  4. JAVA SWING之JFrame和JPanel布局
  5. php 折扣结算,计算给定折扣价的折扣百分比 - php
  6. vue html img标签绝对路径,vue cli使用绝对路径引用图片问题的解决
  7. 安卓手机连接蓝牙打印机实现打印功能
  8. 【Android -- 蓝牙】蓝牙连接打印机
  9. 时尚、时尚、最时尚,爱不释手是JAVA
  10. Addressing Function Approximation Error in Actor-Critic Methods