一攀痊、Appium架構(gòu)介紹與環(huán)境安裝

目錄

  • 目前mobile自動(dòng)化解決方案
  • appium介紹
  • appium框架介紹
  • appium環(huán)境安裝
  • IOS配置

目前mobile自動(dòng)化解決方案

image.png
  • 自動(dòng)化工具選擇
    • 單平臺(tái)測(cè)試or 多平臺(tái)測(cè)試?
    • 是否有多設(shè)備同時(shí)測(cè)試的場(chǎng)景?
    • 不局限于測(cè)試環(huán)境,任何版本任何環(huán)境都可以測(cè)試?
    • 最擅長(zhǎng)哪種開(kāi)發(fā)語(yǔ)言?
    • 當(dāng)前市面是否有滿(mǎn)足項(xiàng)目需求的測(cè)試工具?
    • 是否需要二次開(kāi)發(fā)?
image.png

Appium介紹

Appium是一個(gè)移動(dòng)端的自動(dòng)化測(cè)試框架拄显,可用于測(cè)試原生應(yīng)用苟径,移動(dòng)網(wǎng)頁(yè)應(yīng)用和混合應(yīng)用,且是跨平臺(tái)的躬审〖郑可用于iOS和Android操作系統(tǒng)。原生應(yīng)用是指用android或iOS編寫(xiě)的應(yīng)用﹐移動(dòng)網(wǎng)頁(yè)應(yīng)用是指網(wǎng)頁(yè)應(yīng)用承边,類(lèi)似于iOS中safarii應(yīng)用或者Chrome應(yīng)用或者類(lèi)似瀏覽器的應(yīng)用遭殉。混合應(yīng)用是指一種包裹webviiew的應(yīng)用博助,原生應(yīng)用網(wǎng)頁(yè)內(nèi)容交互性的應(yīng)用险污。

重要的是Appium是跨平臺(tái)的。何為跨平臺(tái)富岳,意思是可以針對(duì)不同平臺(tái)用一套api來(lái)編寫(xiě)腳本罗心。

  • 推薦Appium
    • 跨語(yǔ)言:Java、Python城瞎、nodejs等
    • 跨平臺(tái)
      • Andoid渤闷、iOS
      • Windows、Mac
    • 底層多引擎可切換
    • 生態(tài)豐富脖镀,社區(qū)強(qiáng)大

Appium引擎列表

  • Android

    • espresso飒箭、selendroid、uiautomator蜒灰、uiautomator2[推薦]
  • iOS

    • uiautomation弦蹂、xcuitest[推薦]
  • mac

  • windows

  • IOS

    • The XCUITest Driver
    • (DEPRECATED)The UIAutomation Driver
  • Android

    • (BETA) The Espresso Driver
    • The UiAutomator2 Driver
    • (DEPRECATED) The UiAutomator Driver
    • (DEPRECATED) The Selendroid Driver
  • The Windows Driver (for Windows Desktop apps)

  • The Mac Driver (for Mac Desktop apps)

Appium設(shè)計(jì)理念

  • webdriver是基于http協(xié)議的,第一連接會(huì)建立一個(gè)session會(huì)話(huà)强窖,并通過(guò)post發(fā)送一個(gè)json告知服務(wù)端相關(guān)測(cè)試信息
  • Client /Server設(shè)計(jì)模式
    • 客戶(hù)端通過(guò)WebDriver json wire協(xié)議與服務(wù)端通訊
    • 多語(yǔ)言支持
  • Server可以放在任何地方
  • 服務(wù)端NODEJS開(kāi)發(fā)的HTTP服務(wù)
  • appium 使用appium-xcuitest-driver來(lái)測(cè)試iPhone設(shè)備凸椿,其中需要安裝facebook出的WDA(webdriveragent)來(lái)驅(qū)動(dòng)iOS測(cè)試
image.png

Appium環(huán)境安裝

  • appium生態(tài)工具
    • adb: android的控制工具,用于獲取android的各種數(shù)據(jù)和控制
    • Appium Desktop:內(nèi)嵌了appium server和inspector的綜合工具
    • Appium Server: appium的核心工具翅溺,命令行工具
    • Appium client:各種語(yǔ)言的客戶(hù)端封裝庫(kù)脑漫,用于連接appium server
      • python髓抑、java、ruby优幸、robotframework-appium
    • AppCrawler自動(dòng)遍歷工具

環(huán)境安裝

  • Java 1.8版本
  • Android sdk
  • Node js(>=10版本)吨拍,npm(>=6版本)
  • python3
  • appium-desktop
  • Appium python client

環(huán)境所需文件已存百度網(wǎng)盤(pán):

  • 環(huán)境安裝需要的軟件下載地址:

鏈接: https://pan.baidu.com/s/1Tt69EFSnuM1aCOKWe0GO8Q
密碼: jlbg

  • 需要安裝的apk:

鏈接: https://pan.baidu.com/s/1Zr-3Z1plg6fysvFpmxnk4A
密碼: gdcw

上面的軟件官網(wǎng)都可以下載到。

windows 版本 Appium 環(huán)境搭建

安裝 nodejs

  • 下載.msi文件

https://nodejs.org/en/download/

image
  • 注意:

1网杆、下載12.*版本雙擊安裝即可羹饰。
2、無(wú)須配置環(huán)境變量,直接重啟一個(gè) cmd 輸入下面的命令碳却,能夠查看這兩個(gè)版本號(hào)即安裝成功队秩。

image

安裝 appium desktop

直接官網(wǎng)下載 Appium 客戶(hù)端版本安裝即可。
建議下載 版本 1.15.1昼浦,最新的版本目前不太穩(wěn)定刹碾。

mac 下載:
Appium-mac-1.15.1.dmg

windows 下載:
Appium-windows-1.15.1.exe

  • 官方下載地址:

https://github.com/appium/appium-desktop/tags

安裝命令行版本的 Appium

國(guó)內(nèi)網(wǎng)絡(luò)一般直接使用官方推薦的命令 npm install -g appium, 會(huì)下載失敗座柱,超時(shí)等問(wèn)題迷帜。這里推薦大家設(shè)置國(guó)內(nèi)鏡像再下載。

1色洞、設(shè)置鏡像源

npm config set registry https://registry.npm.taobao.org

2戏锹、安裝appium

npm install -g appium 這樣下載下來(lái)的是最新版本的appium。
推薦下載 appium 1.15版本火诸,使用命令指定版本號(hào) npm install -g appium@1.15

appium 這個(gè)版本是命令行版本锦针, 與appium desktop啟動(dòng)一個(gè)即可,安裝也可以只安裝一個(gè)或者兩個(gè)都裝置蜀,建議都裝奈搜。

  • 安裝 appium-doctor
    npm install appium-doctor -g

appium-doctor 是用來(lái)檢測(cè)環(huán)境配的是否完整,安裝完成之后盯荤,重新打開(kāi)新的命令行窗口馋吗,輸入 appium-doctor,如下圖:

image

例如上圖秋秤,還差 ANDROID_HOME沒(méi)有配會(huì)有標(biāo)為紅叉提示宏粤。

JDK 環(huán)境配置

注意: 使用 windows 的童鞋,如果用的是window10需要使用jdk_1XX的版本灼卢, 最上面網(wǎng)盤(pán)里面提供的绍哎,打開(kāi)應(yīng)該會(huì)閃退。

若下載比較慢鞋真,可以采取其他的方式進(jìn)行下載崇堰。
1、下載好之后進(jìn)行安裝,其中win版本的安裝的時(shí)候需要注意jre的安裝是在jdk安裝之后海诲,在進(jìn)行jre安裝的時(shí)候不要使用jdk同樣的目錄繁莹,否則會(huì)出現(xiàn)javac等的覆蓋

2、安裝好之后饿肺,檢查并進(jìn)行 java 環(huán)境的設(shè)置

  • a、設(shè)置好JAVA_HOME和CLASSPATH
    JAVA_HOME:jdk的安裝目錄
    CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點(diǎn))


    image
  • b盾似、設(shè)置Path敬辣,在其中加入兩個(gè)配置信息

image

安裝 android sdk

這里有兩種安裝方式,一種是命令行下載零院,一種是通過(guò) Android Studio 下載SDK
如果安裝的SDK有問(wèn)題溉跃,可以嘗試用另一種方式安裝。

第一種方式:命令行安裝

  • 下載android sdk

https://www.androiddevtools.cn/

下載:android-sdk_r24.4.1-windows

下載下來(lái)之后找到 readme 文件并打開(kāi)告抄,下圖

image

找到這個(gè)文件中最下方的一條命令撰茎,如下圖,在命令行里執(zhí)行這個(gè)命令更新sdk:

image
image

更新完的sdk 會(huì)多了一些文件夾打洼,如下圖:


image

更新完成之后龄糊,檢查一下 build-tools/ 路徑下,如果是 30 的版本募疮,需要先刪掉這個(gè)30的文件夾炫惩,然后手動(dòng)的下載一個(gè)低于 28版本的build-tools/ 的放在目錄下即可(推薦 28或者29的版本),如果下載多個(gè)版本會(huì)優(yōu)先使用高版本的阿浓。(注意一定要?jiǎng)h掉30這個(gè)版本的他嚷,版本太高appium運(yùn)行不起來(lái),需要依賴(lài)java1.9的版本)

  • 下載 build-tools 方法
    命令行芭毙,cd 到sdk 目錄下筋蓖,輸入android 回車(chē), 彈出如下界面退敦,勾選想要下載的版本即可粘咖。
image

最后,檢查對(duì)應(yīng)的目錄信息應(yīng)該包含了以下幾個(gè):

  • build-tools

  • platform-tools

  • tools
    如果出現(xiàn)了工具的缺失侈百,可以去上面的sdk manager 里下載涂炎。其中,build-tools包含不同版本的安卓版本的工具设哗,每個(gè)版本一個(gè)文件夾唱捣,配置的時(shí)候?qū)姹咎?hào)文件夾配置上類(lèi)似于:build-tools/xxx;platform-tools存放著adb等工具的网梢,tools存放著uiautomatorviewer等工具震缭。這里要注意build-tools/下的版本不要使用>=30版本的 build-tools/

  • sdk 配置環(huán)境變量:
    注意:環(huán)境變量不要有空格,中文 或者特殊字符等战虏。
    首先配置好 android_home:


    image

    再到Path中添加下列信息拣宰,其中安卓版本build-tools目錄下的數(shù)字配置為自己電腦上存在的版本党涕。


    image

第二種方式:先下載Android Studio, 利用 Android Studio 下載安裝 SDK

參考貼子:https://ceshiren.com/t/topic/4001

注意: sdk 無(wú)論使用哪種安裝方式巡社,最后都要配置環(huán)境變量ANDROID_HOME, 和 Path 膛堤。

.net framework 安裝

windows 安裝 appium desktop 需要依賴(lài) .net framework 必須保證 版本是大于 4.0 的即可。現(xiàn)在目前windows大部分默認(rèn)的 .net framework 版本都是大于 4.0 的晌该,可以通過(guò)下面的方式查看一下肥荔,如果不是則需要手動(dòng)安裝。

控制面板–程序–程序和功能 勾選 .net framework 4 確定即可

image

mac OS / Linux 忽略這一步朝群。

安裝 appium client

appium client 是我們編寫(xiě)腳本必調(diào)的api包燕耿,寫(xiě)腳本一定要安裝這個(gè)包才能引用appium, from appium import webdriver這行代碼姜胖。

由于是python的第三方庫(kù)誉帅,直接使用Pip 安裝即可:

pip install appium-python-client

安裝模擬器

目前市面上模擬器類(lèi)型比較多, mumu右莱, 夜神蚜锨,雷電,逍遙慢蜓,genimotion踏志,android sdk中也有自帶的emulator模擬器。學(xué)習(xí)過(guò)程中推薦大家使用mumu模擬器胀瞪,也可以使用 genimotion模擬器和 android sdk 自帶的 emulator针余。

  • 安裝mumu模擬器,練習(xí)足夠用凄诞,但做移動(dòng)端的 web 測(cè)試需要使用genimotion 或者 sdk自帶的emulator
  • android sdk 里面自帶的模擬器也可以圆雁,只不過(guò)要下載android的開(kāi)發(fā)工具來(lái)管理這些模擬器 - android studio,不用也可以不裝帆谍,
  • genimotion (自行百度)

模擬器安裝好之后伪朽,命令行里直接 輸入命令adb devices即可查看模擬器的狀態(tài)。

對(duì)于第三方模擬器(mumu汛蝙, 夜神等)烈涮,windows需要手動(dòng)連接。
mumu模擬器窖剑,需要手動(dòng)輸入下面的連接命令:

adb connect 127.0.0.1:7555

上面的 127.0.0.1:7555 作為一個(gè)整體坚洽,是 模擬器的名稱(chēng),也叫序列號(hào)(serial number)西土。是根據(jù)本地的 IP 和端口號(hào)生成的讶舰, 不同的模擬器對(duì)應(yīng)的端口不一樣,具體用的哪個(gè)端口可以去百度搜索一下或者官網(wǎng)查看 。

mac上直接執(zhí)行 adb devices 跳昼。如果沒(méi)有識(shí)別般甲,需要重啟 adb server,執(zhí)行下面兩條命令即可鹅颊。

adb kill-server
adb devices

不同廠(chǎng)商的模擬器需要連接的名是不一樣的敷存,需要查看官網(wǎng)說(shuō)明。上面僅提供了mumu的連接方式堪伍,其它的模擬器自行百度锚烦。

mac 上 Appium 環(huán)境搭建

安裝 nodejs 與 npm

  • 安裝方式與 windows 類(lèi)似 ,官網(wǎng)下載對(duì)應(yīng)的 mac 版本的安裝包杠娱,雙擊即可安裝挽牢,無(wú)須配置環(huán)境變量谱煤。
  • 官方下載地址:
    https://nodejs.org/en/download/

安裝 appium

Appium 分為兩個(gè)版本摊求,一個(gè)是有界面的Appium(下載安裝文件即可安裝),一個(gè)是無(wú)界面的命令行版本(需要命令安裝)刘离,建議都安裝上室叉。

  • 有界面的Appium Desktop:包含 appium 服務(wù),錄制工具硫惕,查看頁(yè)面布局及查找元素的功能。
  • 無(wú)界面的Appium:只提供了appium服務(wù)功能

方法一: 官方推薦直接,(網(wǎng)絡(luò)環(huán)境要求高,如果出現(xiàn)超時(shí)廊遍,下載不下來(lái)植捎,不推薦)

npm install -g appium

方法二:先安裝cnpm 再安裝 appium (曲線(xiàn)救國(guó),推薦)豁辉,一定要加上 -g 參數(shù)

npm install -g cnpm --registry=https://registry.npm.taobao.org #掛載淘寶源
cnpm install -g appium@1.15 #全局安裝appium

3令野、安裝 appium-doctor,檢查你的appium環(huán)境是否安裝成功

cnpm install -g appium-doctor

安裝完成徽级,可以打開(kāi)一個(gè)新的命令行窗口(windows上cmd气破,Mac 上是Terminal),輸入 appium-doctor餐抢,會(huì)出現(xiàn)如下提示现使,紅框里面沒(méi)有報(bào)錯(cuò)即可, 其它的畫(huà)叉的暫時(shí)可以不用安裝旷痕。

image

4碳锈、運(yùn)行 appium server

有界面的,打開(kāi)界面欺抗,點(diǎn)擊 Start Server, 不報(bào)錯(cuò)說(shuō)明成功殴胧,如下圖:

image

打開(kāi)terminal,輸入 appium回車(chē),不報(bào)錯(cuò)說(shuō)明安裝成功。

image

運(yùn)行团滥,驗(yàn)證環(huán)境

上面安裝完成就可以運(yùn)行一個(gè)簡(jiǎn)單的appium demo 腳本竿屹,能夠啟動(dòng)起來(lái)應(yīng)用說(shuō)明安裝成功。

創(chuàng)建測(cè)試文件 test_demo.py

from appium import webdriver
desired_caps={}
desired_caps['platformName']='Android'
desired_caps['platformVersion']='6.0'
desired_caps['deviceName']='emulator-5554'
desired_caps['appPackage']='com.android.settings'
desired_caps['appActivity']='com.android.settings.Settings'
driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)

IOS配置

環(huán)境搭建

  • xcode

依賴(lài)工具包

  • brew install --HEAD ideviceinstaller

  • brew install --HEAD libimobiledevice

  • brew install ios-deploy

  • brew install carthage

github項(xiàng)目

xocode相關(guān)

  • bundle identifier:類(lèi)似于android的包名灸姊,如果本地調(diào)試可以隨便填寫(xiě)拱燃,如果要發(fā)布則不能隨便填寫(xiě)。

  • signing:簽名需要證書(shū)才能構(gòu)建編譯力惯,在模擬器和真機(jī)上運(yùn)行碗誉。

  • .app文件:項(xiàng)目編譯后生成的項(xiàng)目打包代碼,其實(shí)是一個(gè)目錄父晶,zip文件

  • .ipa文件:經(jīng)過(guò)簽名后的打包文件哮缺,本質(zhì)是一個(gè)zip文件

基本操作

  • 查看模擬器列表:instruments -s devices

  • 查看真機(jī)列表:idevice_id -l

  • 安裝APP:ideviceinstaller -i demo.app 高版本使用:ios-deploy

  • 查看app的bundleid:ideviceinstaller -l

命令行編譯

  • xcodebuild -scheme UICatalog -target iOS clean build

  • xcodebuild -scheme UICatalog -target iOS archive

  • 證書(shū)相關(guān)

  • team id:注冊(cè)成為開(kāi)發(fā)者,付費(fèi)后才有甲喝;真機(jī)測(cè)試需要尝苇,模擬器不需要(如果只是需要一個(gè)證書(shū),用自己的appid登錄即可)

ios模擬器測(cè)試

  • Capabilitie參數(shù)
{

"platformName": "ios",

"app": "/Users/jaxon/Library/Developer/Xcode/DerivedData/UIKitCatalog-batnzjgnhedojmafwlejnamdeeup/Build/Products/Debug-iphonesimulator/UIKitCatalog.app",

"automationName": "XCUITest",

"deviceName": "iPhone 11 Pro",

"platformVersion": "13.3"

}

app: xcode選擇模擬器編譯后的app位置

[
image

遇到的問(wèn)題

  • 編譯WDA報(bào)錯(cuò):RoutingHTTPServer/RouteResponse.h’ file not found

  • /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent埠胖,執(zhí)行
    sh ./Scripts/bootstrap.sh

  • 然后在wda項(xiàng)目路徑下執(zhí)行sh ./Scripts/bootstrap.sh

ios真機(jī)測(cè)試

  • Capabilitie參數(shù)
{

"platformName": "ios",

"app": "/Users/jaxon/Library/Developer/Xcode/DerivedData/UIKitCatalog-batnzjgnhedojmafwlejnamdeeup/Build/Products/Debug-iphoneos/UIKitCatalog.app",

"automationName": "XCUITest",

"deviceName": "iPhone",

"udid": "auto",

"xcodeOrgId": "7******S",

"xcodeSigningId": "iPhone Developer"

}

app: xcode選擇真機(jī)編譯后的app位置

xcodeOrgId:Team ID

udid:auto會(huì)根據(jù)deviceName返回的參數(shù)自動(dòng)獲取udid

注意:編譯成功后需要在手機(jī)里信任證書(shū)

WDA項(xiàng)目配置(自行下載的WDA):

  • 選擇WebDriverAgentLib糠溜,設(shè)置對(duì)應(yīng)的team、certificate
image
  • 選擇com.facebook.WebDriverAgentRunner直撤,設(shè)置對(duì)應(yīng)的team非竿、certificate
image
  • com.facebook.IntegrationApp,設(shè)置對(duì)應(yīng)的team谋竖、certificate
image

ps:設(shè)置過(guò)程中可能會(huì)報(bào)錯(cuò)Failed to register bundle identifier.

解決辦法:因bundle identifier不是唯一的红柱,修改為唯一的即可

  • 選擇WDA-真機(jī),進(jìn)行build

    image

appium-WDA項(xiàng)目配置(appium自帶的WDA):

  • 選擇WebDriverAgentLib蓖乘,設(shè)置對(duì)應(yīng)的team锤悄、certificate

    image
  • com.facebook.IntegrationApp,設(shè)置對(duì)應(yīng)的team驱敲、certificate
image
  • com.facebook.IntegrationApp铁蹈,設(shè)置對(duì)應(yīng)的team、certificate

    image
  • 選擇WDA-真機(jī)众眨,進(jìn)行build

    image

注意:需對(duì)證書(shū)進(jìn)行信任

構(gòu)建完成后握牧,點(diǎn)擊product-test,在真機(jī)上安裝WDA娩梨,啟動(dòng)appium即可

遇到的問(wèn)題

image

根據(jù)Appium日志內(nèi)關(guān)鍵詞 xcodebuild build-for-testing test-without-building -project查找appium自帶的WDA路徑沿腰,打開(kāi)后檢查對(duì)應(yīng)的team、certificate狈定,正確配置完成后颂龙,重新編譯习蓬,安裝即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市措嵌,隨后出現(xiàn)的幾起案子躲叼,更是在濱河造成了極大的恐慌,老刑警劉巖企巢,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枫慷,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡浪规,警方通過(guò)查閱死者的電腦和手機(jī)或听,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)笋婿,“玉大人誉裆,你說(shuō)我怎么就攤上這事「妆簦” “怎么了足丢?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)绍填。 經(jīng)常有香客問(wèn)我霎桅,道長(zhǎng)栖疑,這世上最難降的妖魔是什么讨永? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮遇革,結(jié)果婚禮上卿闹,老公的妹妹穿的比我還像新娘。我一直安慰自己萝快,他們只是感情好锻霎,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著揪漩,像睡著了一般旋恼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奄容,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天冰更,我揣著相機(jī)與錄音,去河邊找鬼昂勒。 笑死蜀细,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的戈盈。 我是一名探鬼主播奠衔,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谆刨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了归斤?” 一聲冷哼從身側(cè)響起痊夭,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎脏里,沒(méi)想到半個(gè)月后生兆,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膝宁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年鸦难,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片员淫。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡合蔽,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出介返,到底是詐尸還是另有隱情拴事,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布圣蝎,位于F島的核電站刃宵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏徘公。R本人自食惡果不足惜牲证,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望关面。 院中可真熱鬧坦袍,春花似錦、人聲如沸等太。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缩抡。三九已至奠宜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瞻想,已是汗流浹背压真。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留内边,地道東北人榴都。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像漠其,于是被迫代替她去往敵國(guó)和親嘴高。 傳聞我的和親對(duì)象是個(gè)殘疾皇子竿音,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 127,716評(píng)論 1 9
  • 版本:ios 1.2.1 亮點(diǎn): 1.app角標(biāo)可以實(shí)時(shí)更新天氣溫度或選擇空氣質(zhì)量,建議處女座就不要選了拴驮,不然老想...
    我就是沉沉閱讀 6,882評(píng)論 1 6
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月春瞬,有人笑有人哭,有人歡樂(lè)有人憂(yōu)愁套啤,有人驚喜有人失落宽气,有的覺(jué)得收獲滿(mǎn)滿(mǎn)有...
    陌忘宇閱讀 8,528評(píng)論 28 53
  • 兔子雖然是枚小碩 但學(xué)校的碩士四人寢不夠 就被分到了博士樓里 兩人一間 在學(xué)校的最西邊 靠山 兔子的室友身體不好 ...
    待業(yè)的兔子閱讀 2,590評(píng)論 2 9