精华内容
下载资源
问答
  • “向管理要效益”已经成为企业的共识,移动办公系统在企业中的普及也是大势所趋,越来越多的企业认识到移动办公系统的重要性,能切实有效降低成本,规范企业管理,提高办公效率。 数字正在改变企业工作方式,企业...

    随着科技的发展,办公自动化系统已成为企业信息化建设的首选。“向管理要效益”已经成为企业的共识,移动办公系统在企业中的普及也是大势所趋,越来越多的企业认识到移动办公系统的重要性,能切实有效降低成本,规范企业管理,提高办公效率。
    数字化正在改变企业工作方式,企业普遍需要更高效的团队协作服务。华为云WeLink作为移动协同办公的后起之秀,在数字化转型道路上做出了三大创新:体验创新,流程创新和模式创新,从不同的侧面点来构建人/业务/知识/物的更好的连接。
    在这里插入图片描述
    尽管移动办公已经渐成主流,但依然有很多企业不愿意尝试,很大程度上是出于对移动互联安全性的担忧。
    “更懂企业的智能工作平台”,华为云WeLink充分抓住企业的痛点,在软件开发、用户隐私保护、安全防护等方面做出了很大的努力,而且华为云WeLink在数据安全方面一直具备深厚的技术实力,其“芯-端-管-云”的全链路安全能力受到市场一致好评外,还屡获行业内各类权威机构认证。
    自2019年上线以来,华为云WeLink就获得大量权威安全认证,包括国家等保3级(高分通过)、ISO 27001、ISO 27017、ISO 27018、CSA STAR、安卓绿色联盟纯净级等认证;2020年,又通过了可信云、NIST CSF、PCI 3DS、BSI 10012、ISO27701、ISO29151等认证。累计已获得50+安全认证,其中14个属于Saas级安全认证。
    华为云WeLink期望帮助客户构建移动端安全防护体系。
    在这里插入图片描述

    展开全文
  • 都是企业所面临的严重的数据安全危机,作为企业想要做好数据安全管控工作,就要实施安全有效的数据文件加密方案来保证文件的使用。 办公局域网内部的数据防泄密工作应该如何进行? 第一步:企业要规范员工关于数据...

    企业多面临的数据安全危机无处不在,不仅仅是内部人员有意无意的转发或者使用相关的数据文件造成的数据泄露,同时也包含外部的因为内部文件交流使用等外发出去的文件没有进行任何的安全管控而随意转发等造成的外泄以及竞争对手窃取造成的企业数据泄露,都是企业所面临的严重的数据安全危机,作为企业想要做好数据安全管控工作,就要实施安全有效的数据文件加密方案来保证文件的使用。

    办公局域网内部的数据防泄密工作应该如何进行?

    第一步:企业要规范员工关于数据文件使用规范行为的操作。

    第二步:对于企业相关重要的数据文件需要进行相关的加密措施,例如现在企业比较常见的数据安全方案就是使用相关的数据加密软件来保证企业内部文件的安全,这里就以风奥金甲EDS为例,部署以后,只需要设置好相关的加密策略以后,所有通过涉密进程新建生成的文件都是加密的,加密后的文件在指定的环境下可以正常的流通使用,未获得授权允许的情况下脱离环境,文件乱码无法打开。

    第三步:针对企业需要对外交流的文件需要进行涉密解密以后才可以外发,不要以为允许外发以后文件就不受控制了,要说的是外发后的文件依然是密文,其使用操作依然受到金甲加密软件的管控。

    第四步:针对公司外发的文件涉密解密操作流程,企业可以根据自身的实际需求然后以及审批的流程进行相关的设置,全面的保证文件的安全。

    展开全文
  • Python+Selenium2 搭建自动测试环境

    千次阅读 2018-04-02 10:52:18
    米扑科技的许多项目都用到了爬虫采集网页数据,突破反爬虫、自动测试、回归测试也要求米扑考虑构建自动,来提高整个团队的极致工作效率。由于忙于需求以及产品的流程规范,现在对于测试技术方面的研究也积累了很...

    米扑科技的许多项目都用到了爬虫采集网页数据,突破反爬虫、自动化测试、回归测试也要求米扑考虑构建自动化,来提高整个团队的极致工作效率。

    由于忙于需求以及产品的流程规范,现在对于测试技术方面的研究也积累了很多。不过不管做什么,做好最重要

    搞自动化主要是出于团队建设考虑,一方面为了提供测试部门的工作效率,保障产品质量;另一方面,也是为了提升团队成员的测试技能,保证Team良性发展。不过不管如何,自动化是必须要搞,不然繁琐的回归测试是没有任何效率保证和质量保障的。

    初步计划通过Python作为脚本语言,Selenium作为web端的测试工具,目前主要是基于web端来构建的。

    米扑博客原文:Python+Selenium2 搭建自动化测试环境

     

    Python 安装

    yum -y update

    yum -y install gcc gcc-g++ python python-devel python-pip

    yum -y install Xvfb firefox

    pip install pyvirtualdisplay

    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers unzip subversion

     

    pypi 官网: https://pypi.python.org/pypi

    pip 官网: https://pypi.python.org/pypi/pip/

    bs4 官网: https://pypi.python.org/pypi/beautifulsoup4/

    setuptools 官网: https://pypi.python.org/pypi/setuptools/

    selenium 官网:https://pypi.python.org/pypi/selenium

    tornado 官网: https://pypi.python.org/pypi/tornado

    tornado 官网:http://www.tornadoweb.org

    tornado github: https://github.com/tornadoweb/tornado/

    PyVirtualDisplay 官网: https://pypi.python.org/pypi/PyVirtualDisplay (包含 xvfb)

    PyVirtualDisplay github: https://github.com/ponty/PyVirtualDisplay

    firefox 老版本下载:http://ftp.mozilla.org/pub/firefox/releases/   (推荐

     

    本节主要记录简单搭建Python+Selenium测试环境的过程,具体如下:

    基础环境:windows 7 64bit

    1、构建python开发环境,版本为当前最新版本python2.7.5

    在python官方网站选择下载最新windows安装包:python-2.7.5.amd64.msi,

    注意这里选择64bit的。安装完之后,需要在系统的环境变量path中加入C:\Python27,然后可以在命令行

     

    2、SetupTools和pip工具安装

    这两个工具都是属于python的第三方工具包软件,有点类似于linux下的安装包软件,不过pip比SetupTools功能更强大。

    SetupTools官方解释:Download, build, install, upgrade, and uninstall Python packages -- easily!

    在python的官方网站上可以找到SetupTools的下载,这里Windows只提供了32bit的下载,setuptools-0.6c11.win32-py2.7.exe,直接双击安装即可。

    pip官方解释:A tool for installing and managing Python packages.

    cmd进入命令行:easy_install pip 在线安装即可。

    备注:此处需要注意的是,当安装SetupTools之后,就可以在python安装目录下看到Script目录,如下图所示:

    pythonselenium2-to-build-automated-test-01

    这个目录生成之后,需要在系统环境变量的中加入 path:C:\Python27\Scripts,然后才可以在命令使用easy_install命令进行pip在线安装。

     

    3、安装 Selenium

    selenium 官方下载:https://pypi.python.org/pypi/selenium#downloads

    selenium 最新版本:selenium-2.53.4.tar.gz

    这里因为需要将Python和Selenium进行组合,当然Selenium也提供了基于python的实现,所以就需要把Selenium的包安装到python库中去,以便于python开发时进行调用。

    在cmd进入命令行:pip install selenium 执行之后,将自动化搜寻最新的selenium版本下载并安装,如下图所示:

    pythonselenium2-to-build-automated-test-02

    以上显示,则表明在线安装selenium成功!

     

    4、Python + Selenium 示例

    这里可以直接在python的编辑中编写如下程序,并保存hello_selenium.py

    1
    2
    3
    4
    5
    6
    7
    8
    from selenium import webdriver
      
     driver = webdriver.Firefox()
     driver.get(‘https://blog.mimvp.com’)
     assert "blog.mimvp.com 博客".decode('utf-8') in driver.title
     print driver.title
      
     driver.close()

    在python编辑器里面操作F5运行即可,看看是否成功调用Firefox浏览器。。。

    以上一个基础的Python+Selenium的自动化环境已经搭建完成。

     

    Selenium 多浏览器实现

    构建Python+Selenium2自动化测试环境完成之后,就需要测试支持python的selenium的版本是否都支持在不同浏览器上运行,当前我们分别在三个最通用的浏览器上(IE,Chrome,FireFox)通过脚本来测试。

    1) IE 浏览器

    IE浏览器上运行测试脚本,首先需要下载IEDriverServer.exe,放在IE浏览器的安装目录且同级目录下,脚本如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    import os
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
     
    iedriver = "C:Program FilesInternet ExplorerIEDriverServer.exe"        # IE driver
    os.environ["webdriver.ie.driver"] = iedriver
     
    driver = webdriver.Ie(iedriver)
    driver.get("https://blog.mimvp.com")
    assert "Python" in driver.title
     
    elem = driver.find_element_by_name("q")
    elem.send_keys("selenium")
    elem.send_keys(Keys.RETURN)
    assert "mimvp.com" in driver.title
     
    driver.close()
    driver.quit()

     

    2)Chrome 浏览器

    在Chrome浏览器上运行测试脚本,首先需要下载ChromeDriver.exe,放在Chrome浏览器的安装目录且同级目录下,脚本如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import os
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
     
    chromedriver = "C:Program Files (x86)GoogleChromeApplicationchromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    driver = webdriver.Chrome(chromedriver)
     
    driver.get("https://blog.mimvp.com")
    assert "Python" in driver.title
    elem = driver.find_element_by_name("q")
    elem.send_keys("selenium")
    elem.send_keys(Keys.RETURN)
    assert "mimvp.com" in driver.title
     
    driver.close()
    driver.quit()

    注意官网的介绍

    Chrome Driver is maintained / supported by the Chromium project iteslf.  看来如果使用 new ChromeDriver() 的话,应该要安装 Chromium 而不是 Chrome,我现在懒得折腾了,有兴趣的童鞋可以试验一下。 

     

    3) Firefox 浏览器

    在Firefox浏览器上运行测试脚本,具体如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys
     
    driver = webdriver.Firefox()
    driver.get("https://blog.mimvp.com/")
    assert "Python" in driver.title
    elem = driver.find_element_by_name("q")
    elem.send_keys("selenium")
    elem.send_keys(Keys.RETURN)
    assert "mimvp.com" in driver.title
     
    driver.close()
    driver.quit()

     

    Selenium 虚拟浏览器静默执行(不打开窗体)

    使用selenium打开网页时,FireFox浏览器会在虚拟窗体中显示,不会在当前用户窗体中打开。

    应用场景:

    非常适合在服务器端执行;非常人性化的不打扰当前用户工作,赞!

    On *nix, you can run WebDriver in a headless (virtual) display to hide the browser. This can be done with Xvfb.

    I personally use Python on Linux, and the PyVirtualDisplay module to handle Xvfb for me.

    Code for running headless would look like this:

    #!/usr/bin/env python
    
    from pyvirtualdisplay import Display
    from selenium import webdriver
    
    display = Display(visible=0, size=(800, 600))
    display.start()
    
    # now Firefox will run in a virtual display. 
    # you will not see the browser.
    browser = webdriver.Firefox()
    browser.get('https://www.mimvp.com')
    print browser.title
    browser.quit()
    
    display.stop()
    

    Install dependencies on Debian/Ubuntu:

    $ sudo apt-get install xvfb python-pip
    $ sudo pip install pyvirtualdisplay

    或 CentOS 系统上

    $ yum install Xvfb python-pip      // yum install xorg-x11-server-Xvfb
    $ yum --enablerepo=remi install firefox
    $ pip install pyvirtualdisplay

    或 AWS EC2 系统上

    $ wget https://lambda-linux.io/epll-release-2015.09-1.1.ll1.noarch.rpm
    $ yum -y install epll-release-2015.09-1.1.ll1.noarch.rpm
    $ yum --enablerepo=epll install firefox-compat

    下载firefox,解压,软链接

    wget  http://download.firefox.com.cn/releases/firefox/45.0/en-US/Firefox-latest-x86_64.tar.bz2
    tar jxvf Firefox-latest-x86_64.tar.bz2
    mv Firefox-latest-x86_64 firefox
    ln -s  /home/ec2-user/tool-server/firefox/firefox /usr/bin/firefox

    参考: Announcing Firefox Browser Support for Amazon Linux

    firefox 更多老版本下载:http://ftp.mozilla.org/pub/firefox/releases/  (推荐

     

    错误1:

    如果报错,则更新selenium到最新版,错误信息:

    Message: Can't load the profile. Profile Dir: %s If you specified a log_file in the FirefoxBinary constructor, check it for details.

     pip install -U selenium  (高版本CentOS 7、Firefox、Selenium,此方法没用)

     

    错误2:

    easyprocess.EasyProcessCheckInstalledError: cmd=['Xvfb', '-help']

    OSError=[Errno 2] No such file or directory

    Program install error! 

    解决:

    1
    pip install xvfbwrapper

     

    错误3:

    selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

    这是因为Firefox高版本需要使用 geckodriver 来驱动,不再使用Seleniu默认自带的Firefox webdriver。

    我们只需要在 github 下载 geckodriver 并将其所在的路径设为环境变量即可解决。

    解决:

    1
    brew install geckodriver

    或下载安装低版本firefox

    firefox-45.0.2.tar.bz2

    firefox 更多老版本下载:http://ftp.mozilla.org/pub/firefox/releases/  (推荐

     

    应用实例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    import bs4
    from selenium import webdriver
    from pyvirtualdisplay import Display
     
     
    def spider_url(self, url, index, total):
        print("%d/%d  -  url: %s" % (index, total, url))
     
        content = ''
        browser = None
        table_soup = []
        try:
            display = Display(visible=0, size=(800, 600))
            display.start()
     
            # now Firefox will run in a virtual display.
            # you will not see the browser.
            browser = webdriver.Firefox()       # 打开 FireFox 浏览器
            browser.set_page_load_timeout(60)
            browser.get(url)    
             
            content = browser.find_element_by_class_name('table')       # 通过标记id 获取网页的内容
            content = browser.page_source
                 
            self.kill_firefox(browser)
            display.stop()
             
            content = bs4.BeautifulSoup(content, from_encoding='GB18030')
            table_soup = content.find('table', {"class":"table"}).find_all("tr")
        except Exception as ex:
            print("error msg: " + str(ex))
            self.kill_firefox(browser)

     

    还有一种静默执行的方法(供参考):

    I easily managed to hide the browser window.

    Just install PhantomJS. Then, change this line:

    driver = webdriver.Firefox()
    

    to:

    driver = webdriver.PhantomJS()
    

    The rest of your code won't need to be changed and no browser will open. For debugging purposes, use driver.save_screenshot('screen.png') at different steps of your code.

     

    总结

    通过以上三个不同浏览器上的测试,说明selenium在python中的运用于其Java版本都是一样。

    由于Firefox是默认安装路径,webdriver可以正常访问找到他,如果非系统默认安装路径,则需要跟IE和Chrome一样来设置driver路径。

     


    展开全文
  • 在信息系统托管维护服务快速发展的同时,如何安全、规范、有效的使用托管服务,做好服务过程 的管理、服务质量的控制、降低信息安全风险成为各方面临的共同问题。为规范信息系统托管维护服务, 持续改进服务水平,...
  • 前端和后端如何实现高效协作

    千次阅读 2018-11-05 09:30:09
    四、规范的接口文档 格式简洁、接口名、接口描述、接口地址、http方法、参数、响应数据等 五、去缓存 可以使用webpack,文件自动hash命名 六、做好错误处理 七、运行时捕捉js脚本错误 八...

    一、前后端分离

    二、尽量避免后端模板渲染

    web渲染方式分为服务器端渲染和客户端渲染,推荐使用客户端渲染,数据通过ajax方式交互

    三、尽量避免大量线上调试

    做好本地接口模拟开发

    四、规范的接口文档

    格式简洁、接口名、接口描述、接口地址、http方法、参数、响应数据等

    五、去缓存

    可以使用webpack,文件自动hash化命名

    六、做好错误处理

    七、运行时捕捉js脚本错误

    八、移动端远程调试

    九、前后端并行开发

    十、最重要的还是友好的沟通

    展开全文
  • 1、极限测试必须注意,测试前应对某项设计的极限做好充分测试规划。 2、测试极限时还要注意多种业务接入点,本例为ISDN。对于交换机来说,任何一种业务都要分别在模拟话机、ISDN话机、V5话机、多种形式的话务台上...
  • 如何处理单元测试产生的数据,下列哪些说法是正确的?ABC A .测试数据入库时加特殊前缀标识。 B .测试数据使用独立的测试库。 C .自动回滚单元测试产生的脏数据。 D .无须区别,统一在业务代码中进行判断和...
  • 14.3.1 发送结构化数据 14.3.2 发送交互数据 14.3.3 检测无效连接 14.3.4 验证数据传输 14.4 数据报算法 14.4.1 实现超时机制 14.4.2 数据报排序 14.4.3 有节制地发送数据 14.4.4 同步发送方和接收方 14.5 好消息...
  • 海量的文档数据,存放混乱文件查找困难,工作效率低下文档的安全及保密性差项目资料缺乏标准管理存储工程验收移交困难重重,无法实现按时交付那么,如何做好工程项目文档管理,发挥作用呢?朗坤项目文档管理系统,...
  • 现将20xx年上半年的工作情况总结如下: (一)爱岗敬业、恪尽职守、踏踏实实做好本职工作 一是做好日常统计数据的搜集、整理、汇总和分析工作,一是一方面加强对统计原始数据采集的规范化管理,加强对统计数据的审核...
  • 讲授MATLAB语言基础入门知识,介绍MATLAB产品的体系、MATLAB桌面工具的使用方法,重点介绍MATLAB的数据可视、数值计算的基本步骤以及如何使用MATLAB语言编写整洁、高效、规范的程序。并涉及到一些具体的专业应用...
  • 如何运用规范化原则到如何做成实际的数据库表,从如何保护数据库完整性到如何提高数据库的性能,从数据库的安全机制到并发事务控制,从数据库设计开发的常用模式到应用程序的数据访问策略,既有理论又紧扣实践。...
  • 7.1.3 合并单元格使报销单规范化 7.1.4 使用自动换行让单元格内文字不拥挤 7.1.5 插入行添加报销单标题 常见问题 差旅费报销范围的界定 7.1.6 设置单元格文字的格式 7.1.7 使用“边框”对话框添加框线 经验分享 如何...
  • asp.net知识库

    2015-06-18 08:45:45
    如何获取MSSQLServer,Oracel,Access中的数据字典信息 C#中利用GetOleDbSchemaTable获取数据库内表信息[原创] 如何解决ACCESS中SELECT TOP语句竟然返回多条记录的问题? Asp.net 利用OleDb的GetOLEDBSchemaTable方法...
  • 15.3.1 规范快捷键,尽量与系统操作键统一 231 15.3.2 应尽早制定accessibility checklist 232 15.3.3 注意对其他任务的影响 232 15.3.4 restore case要定义明确 232 15.3.5 应从用户使用习惯的角度去考虑测试需求 ...
  • 如何做到各个组件模块能获取到全局上下文? 组件在lib和app之间进行切换,如何处理butterKnife使用问题呢? 当组件是lib时,写代码需要注意哪些语法? 不要乱发bus消息?如果项目中大量的使用eventbus,那么会看到...
  • 1.6 做好项日开发的准备工作 1.6.1 集成Eelipse与Tomcat 1.6.2 完善web项目开发所需配置 1.7 实战检验 1.7.1 创建第一个Java Web项目 1.7.2 将图片输出到JSP页面之中 1.8 疑难解惑 1.8.1 Tomcat端口被占用导致不能...
  • 1.6 做好项日开发的准备工作 1.6.1 集成Eelipse与Tomcat 1.6.2 完善web项目开发所需配置 1.7 实战检验 1.7.1 创建第一个Java Web项目 1.7.2 将图片输出到JSP页面之中 1.8 疑难解惑 1.8.1 Tomcat端口被占用导致不能...
  • 该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。  ◇ 概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计...
  • 信息必须真实、准确和及时,才能保证组织的效能,实施ERP可以带来高效率的信息传递,这主要表现在信息格式规范化、传递渠道固定化以及预警提醒功能,从而使信息的传递顺畅、不失真。 物流好比企业的消化系统:改善...
  • 插件作用是为了标准commit message文案,规范每一次commit message的描述。 scope插件是什么呢?怎么使用? 参见这位外国大兄弟:https://github.com/MobileTribe/commit-template-idea-plugin.git 在此基础上...
  • 常见面试技巧之如何做好自我介绍 164 本章小结 165 第4章 Windows窗体编程你也行 167 4.1 创建简单的WinForm项目 168 4.2 创建MDI窗体应用 170 4.3 获取应用程序路径信息 174 4.4 回车跳转控件焦点 175 4.5 窗体间...
  • 软件框架设计的艺术

    2014-05-27 11:56:07
    18.6 使用接口时的数据结构 340 18.7 针对用户和开发商的Visitor模式 341 18.8 三重调度 343 18.9 Visitor模式的圆满结局 345 18.10 语法小技巧 346 第19章 消亡的过程 348 19.1 明确版本的重要...
  • 健康档案管理系统.RAR

    热门讨论 2010-03-16 21:40:14
    6. 明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,积极认真地做好准备工作。 7. 课程设计中,学会如何运用先修知识与收集、归纳相关资料解决具体问题...
  • 如何给前端模拟的响应数据。 先来一句非常形而上的话:如果两个对象具有强耦合的关系,我们一般只要引入第三个对象就可以打破这种强耦合的关系。 <pre><code> +---------+ +---------+ ...
  • 1.2.2 数据规范化 9 1.3 SQL语言概述 15 1.3.1 SQL标准 15 1.3.2 SQL命令 15 1.3.3 面向集合语言 16 1.4 使用客户工具 17 1.4.1 SQL*Plus 17 1.4.2 SQL Developer 22 1.5 创建演示模式 25 1.5.1 用户和...
  • 数据持久 玩单机游戏最怕什么?断电。通过订阅 store.subscribe,将state储存在localStorage,精确记录所有状态。网页关了刷新了、程序崩溃了、手机没电了,重新打开连接,都可以继续。 Redux 状态预览(Redux ...
  • 近期在抽空把团队工程这块做好,CI/CD只是其中的九牛一毛。在运维文开同学协助配合下,以公司某项目前端工程做试验,实现了 CI 的过程,本质上CD也是支持了的,主要是看CD这个过程...
  • 5、Easy-Mock数据接口的引入问题 使用Easy-Mock伪造数据时,一定要书写规范,我在这里踩的"坑"就是:数据属性名,不能包含“-”(比如:note-image)。这样虽然数据接口能够创建,但是引入的时候就会报错,引入的...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

如何做好数据规范化