How can to upload the pdf file using Karate UI Automation?

前端 未结 1 629
一个人的身影
一个人的身影 2020-12-20 07:12

Related the issue: Can upload / download files at Karate Driver?, Could you please help me to create the karate Ui code for upload excel pdf in this structure:



        
相关标签:
1条回答
  • 2020-12-20 07:41

    EDIT: first read this answer: https://stackoverflow.com/a/61904351/143475 - because the Chrome native integration supports driver.inputFile() which is available in 0.9.6.RC4

    File upload is a well-known hard problem to solve in browser automation. We will need some contributions from the community, but here is a demo I just experimented with using Karate Robot: https://github.com/intuit/karate/tree/develop/karate-robot

    Feature:
    
    Scenario:
    * driver 'http://the-internet.herokuapp.com/upload'
    * robot { app: '^Chrome', highlight: true }
    * robot.click('choose-file.png')
    * robot.input('/Users/pthomas3/Desktop')
    * robot.input(Key.ENTER)
    * robot.click('file-name.png')
    * robot.input(Key.ENTER)
    * delay(1000)
    * click('#file-submit')
    * delay(2000)
    * screenshot()
    

    You can see a video of the execution here: https://twitter.com/ptrthomas/status/1253373486384295936

    The other options I can think of:

    a) Use Karate's API testing capabilities to perform a multipart file upload: https://github.com/intuit/karate#multipart-file - this is actually in most cases sufficient to "complete" the flow you have. For example for this exact same flow you see above, it looks like this:

    * url 'http://the-internet.herokuapp.com/upload'
    * multipart file file = { read: 'billie.png', filename: 'billie.png', contentType: 'image/png' }
    * method post
    

    And typically you may need to add a cookie or two, which you can easily pass from the browser to the API test / HTTP client.

    b) The other option is something I haven't tried yet, you can "fake" the part of the UI that does the file-upload and replace it with something else, if it can get you forward in your flow. Refer this: https://twitter.com/KarateDSL/status/1248996522357739521

    0 讨论(0)
提交回复
热议问题