将硒与Gitlab CI集成

时间:2018-07-26 14:43:31

标签: python-2.7 selenium docker gitlab-ci

我创建了一个自动的硒测试脚本,该脚本工作得很好。 现在,我的任务是设置Gitlab CI,并在我推入git时尝试自动运行此硒脚本。

是否可以使Selenium脚本自动执行并通知用户脚本是否成功运行?

谢谢

1 个答案:

答案 0 :(得分:0)

如何使用.net项目在具有Selenium和specflow的Gitlab Ci上自动运行自动化测试?

如果这是什么,那么您正在寻找。

这是设置gitlab-ci.yml文件的核心部分:

这是示例gitlab-ci.yml的外观:

image: please give your own docker which can download .net stuff 

variables:
  DOCKER_DRIVER: overlay2   
  SOURCE_CODE_DIRECTORY: 'src'
  BINARIES_DIRECTORY: 'bin'
  OBJECTS_DIRECTORY: 'obj'
  NUGET_PACKAGES_DIRECTORY: '.nuget'
  
stages:
  - Build
  - Test
  
before_script:
  - 'dotnet restore ${SOURCE_CODE_DIRECTORY}/TestProject.sln --packages ${NUGET_PACKAGES_DIRECTORY}'

Build:
  stage: Build
  script:
  - 'dotnet build $SOURCE_CODE_DIRECTORY/TestProject.sln --no-restore'

  except:
    - tags
  artifacts:
   paths:
    - '${SOURCE_CODE_DIRECTORY}/*/${BINARIES_DIRECTORY}'
    - '${SOURCE_CODE_DIRECTORY}/*/${OBJECTS_DIRECTORY}'
    - '${NUGET_PACKAGES_DIRECTORY}'
   expire_in: 2 hr

Test:
  stage: Test
  services:
    - selenium/standalone-chrome:latest  
  script:
  - 'export MSBUILDSINGLELOADCONTEXT=1' 
  - 'export selenium_remote_url=http://selenium__standalone-chrome:4444/wd/hub/'
  - 'export PATH=$PATH:${SOURCE_CODE_DIRECTORY}/chromedriver.exe'  
  - 'dotnet test $SOURCE_CODE_DIRECTORY/ExpressTestProject.sln --no-restore'
  artifacts:
   paths:
    - '${SOURCE_CODE_DIRECTORY}/chromedriver.exe'
    - '${SOURCE_CODE_DIRECTORY}/*/${BINARIES_DIRECTORY}'
    - '${SOURCE_CODE_DIRECTORY}/*/${OBJECTS_DIRECTORY}'
    - '${NUGET_PACKAGES_DIRECTORY}'

就是这样。当您使用此.git-lab-ci.yml设置项目时,您90%的工作就完成了。 只要您在源代码树或Tfs中提交某些内容,这些测试就会在Gitlab中自动运行。 谢谢