日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

element ui input视图没刷新_[Selenium自动化测试实战] 如何在UI自动化测试中加入REST API的操作...

發(fā)布時(shí)間:2024/7/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 element ui input视图没刷新_[Selenium自动化测试实战] 如何在UI自动化测试中加入REST API的操作... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問(wèn)題

當(dāng)我們描述一個(gè)“好的自動(dòng)化測(cè)試用例”時(shí),經(jīng)常出現(xiàn)標(biāo)準(zhǔn)是:

  • 精確。自動(dòng)化測(cè)試用例應(yīng)該測(cè)試一件事,只有一件事。與測(cè)試用例無(wú)關(guān)的應(yīng)用程序的某個(gè)部分中的錯(cuò)誤不應(yīng)導(dǎo)致測(cè)試用例失敗。
  • 獨(dú)立。自動(dòng)化測(cè)試用例不應(yīng)該受測(cè)試套件中任何其他測(cè)試用例影響。
  • 快速。這不需要太多的解釋。自動(dòng)化測(cè)試用例套件運(yùn)行得越快,它就越有用。

這些標(biāo)準(zhǔn)在Selenium測(cè)試套件中可能特別具有挑戰(zhàn)性。原因在于,Selenium的UI自動(dòng)化測(cè)試通常涉及可能包括注冊(cè),登錄,某些導(dǎo)航,表單提交或與網(wǎng)站的其他交互的設(shè)置。只有在做完這些事情之后,你才可以在網(wǎng)站的某些方面做出斷言。但是這樣就會(huì)引入一些和原本的測(cè)試用例無(wú)關(guān)的錯(cuò)誤導(dǎo)致自動(dòng)化腳本運(yùn)行失敗。解決方法
現(xiàn)在很多新的網(wǎng)站的后端都采用REST API。如果能夠在腳本中通過(guò)訪問(wèn)REST API來(lái)完成一些基礎(chǔ)的必要操作,而不是在UI上,這樣將提高我們測(cè)試的執(zhí)行效率。
REST API基于HTTP協(xié)議,這是基本上支持整個(gè)互聯(lián)網(wǎng)的協(xié)議。 幾乎所有現(xiàn)代編程語(yǔ)言都有可用于發(fā)出HTTP請(qǐng)求的庫(kù),因此,我們可以將調(diào)用REST API的支持添加到幾乎任何測(cè)試套件中。實(shí)例
很多測(cè)試中都會(huì)遇到新建賬號(hào)的問(wèn)題。需要測(cè)試新的賬號(hào)在登陸之后的行為。如果能夠使用REST API來(lái)新建用戶的話,就可以大大的節(jié)省填寫新建賬號(hào)的表單的時(shí)間。
這里假設(shè)一個(gè)虛擬的REST API
POST http://api.myfakeapp.com/v1/create-user
通過(guò)POST方法可以新建用戶。Body里面需要填充的JSON數(shù)據(jù)如下:

{

'username': 'example-username',

'password': 'abcd1234',

'email': 'bob@example.com',

'first_name': 'bob',

'last_name': 'example'

}
下面是代碼實(shí)現(xiàn)

require 'rest-client'

require 'json'

require 'securerandom'

class RestApiInterface

@headers = {

'content-type' => 'application/json',

'user-agent' => 'Rest Api Helper',

}

def post_to_api url, post_body_obj

json_body = JSON.generate(post_body_obj)

response = RestClient.post url, json_body, @headers

end

def create_test_user

# Step 1: Build the user parameters randomly

random_test_user = {

'username' => random_string,

'password' => random_string,

'email' => "#{random_string}@http://testing.com",

'first_name' => 'test',

'last_name' => 'user',

}

# Step 2: Execute the API call

response = post_to_api "http://api.myfakeapp.com/v1/create-user", random_test_user

# Step 3: Ensure the api call returned a success code

if response.code != '200'

raise 'User creation failed'

end

# Final Step: Return the user object so we can use it

response.body['user']['data']

end

def random_string

# This is an easy way to get a good randomized string

SecureRandom.hex

end

end

$driver = Selenium::WebDriver.for :firefox

user = RestApiInterface.new.create_test_user

$driver.get 'http://myfakeapp.com'

$driver.find_element(:css, 'input[name="username"]').send_keys @user['username']

$driver.find_element(:css, 'input[name="password"]').send_keys @user['password']

$driver.find_element(:css, 'button[name="login"]').click

puts $driver.find_element(:css, '#user_id').text總結(jié)
這里只是給出了一個(gè)如何把API訪問(wèn)和UI自動(dòng)化結(jié)合的思路。在這個(gè)思路的引導(dǎo)下,可以對(duì)UI自動(dòng)化測(cè)試進(jìn)行很多擴(kuò)展,例如校驗(yàn)界面數(shù)據(jù)元素的數(shù)據(jù)和API中數(shù)據(jù)的一致性等等。
軟件測(cè)試、接口測(cè)試、自動(dòng)化測(cè)試、面試經(jīng)驗(yàn)交流。感興趣可以加我們的軟件測(cè)試技術(shù)交流群,有不定期的發(fā)放免費(fèi)的資料鏈接,還有同行一起技術(shù)交流。

總結(jié)

以上是生活随笔為你收集整理的element ui input视图没刷新_[Selenium自动化测试实战] 如何在UI自动化测试中加入REST API的操作...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。