StoryCode

Firebase App 추가

iOS/Firebase Chat
반응형

1) ADD APP


2) iOS 선택


3) iOS App Name 등록


4) plist 파일 다운로드해서 XCode 에 등록


5) SDK 추가


Swift 로 추가


6) 등록후 Skip...


7) 확인.


반응형

'iOS > Firebase Chat' 카테고리의 다른 글

iOS Chat based Firebase  (0) 2018.06.01

사용자와 데이타베이스 만들기

Google/Firebase
반응형

1) Authentication 에서 ADD USER


2) Realtime Database, GET STARTED


3) Start in test mode.

실제 서비스시에는  Start in locked mode로.


4) 왼쪽 메뉴에서 Database 선택


각 컬럼에서 + 를 눌러서 데이타베이스 생성


반응형

Div p 와 Div > p 의 차이점

Web Dev, HTML, CSS, SVG, BootStrap/CSS
반응형

div p : div 아래에 있는 모든 p


div > p : div 1단계 아래에 있는 p

반응형

Cocoapods 설치

iOS/XCode Swift
반응형

https://cocoapods.org


sudo gem install cocoapods


반응형

SSH 접속

Google/Google Cloud Platform
반응형

1) 우선 cloud.google.com 에 접속해서, Dashboard에서 각 VM 의 우측에 SSH 라는 버튼을 클릭한다.


2) SSH 접속창이 뜬다.

여기서 외부 SSH Client Tool ( Ex> Putty ) 로 접속할수 있게 세팅한다.


puttygen 을 이용하는 방법은 아래를 참조한다.


https://cloud.google.com/compute/docs/instances/connecting-to-instance#generatesshkeypair

생성 규칙에 key-commnent 가 반영되야 하므로 위 문서 꼭 참조.

반응형

'Google > Google Cloud Platform' 카테고리의 다른 글

Instance 생성하기  (0) 2018.06.02

Swift로 OpenCV 3.1 사용하여 iOS 앱 만들기

영상처리
반응형

[ 참조 ] https://mansoo-sw.blogspot.com/2016/10/swift-opencv-31-ios.html

반응형

'영상처리' 카테고리의 다른 글

[초급] OpenCV 초보를 위한 강좌 - 1편 : 설치하기  (0) 2018.05.04

Instance 생성하기

Google/Google Cloud Platform
반응형

1) cloud.google.com 에 접속해서 무료로 사용해보기를 클릭한다.

그럼 $300 를 준다.



2)  Compute Engine > VM Instance 를 클릭한다.


3) Create 를 클릭한다.


4) Name 부터 설정을 변경하면, 우측에 비용이 바뀌니 참조해가며 변경한다.

추후에 변경가능하니 처음에는 작은 걸로 시작한다.


Boot disk 는 Debian, Centos, Ubuntu, Windows 등이 있다.

Region 은 Cloud 서버가 있는 위치다. 그리고 위치에 따라 가격 다르다.

아무래도 Tokyo 면 접속 속도가 빠르리라 생각된다.


Windows 는 server 2016 버전을 사용 권장.


Firewall 은 HTTP 와 HTTPS 모두 허용.




이렇게 하니 월 예상비용이 $24.67 이다.

Create 를 클릭해서 VM Instrance 를 생성한다.


5) Window 면, 생성후에 대시보드 > VM 에서 RDP 암호를 꼭 설정해야 함.


반응형

'Google > Google Cloud Platform' 카테고리의 다른 글

SSH 접속  (0) 2018.06.02

iOS Chat based Firebase

iOS/Firebase Chat
반응형

[ 참조 ] https://github.com/Hpark11/firebaseChatTest

https://github.com/Hpark11/firebaseChatTest


[ 2017-509 ]

반응형

'iOS > Firebase Chat' 카테고리의 다른 글

Firebase App 추가  (0) 2018.06.04

WebCrawl.py

Web Automation Test Tool
반응형

from selenium import webdriver

from selenium.webdriver.common.by import By


# WebDriverWait는 Selenium 2.4.0 이후 부터 사용 가능합니다.

from selenium.webdriver.support.ui import WebDriverWait


# expected_conditions는 Selenium 2.26.0 이후 부터 사용 가능합니다.

from selenium.webdriver.support import expected_conditions as EC


from bs4 import BeautifulSoup










driver = webdriver.Chrome('chromedriver.exe')

# 브라우저가 무조건 3초 기다림.

driver.implicitly_wait(5)















driver.get('http://www.t.net')

# 특정 개체가 나올때까지 10초간 대기 ( 로그인전 )

try:

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="loginli"]/a')))

finally:

driver.find_element_by_xpath('//*[@id="loginli"]/a').click()


driver.find_element_by_xpath('//*[@id="loginli"]/a').click()

driver.find_element_by_name('memberid').send_keys('아이디')

driver.find_element_by_name('memberpwd').send_keys('비밀번호')

driver.find_element_by_xpath('//*[@id="btn_login"]').click()


# 특정 개체가 나올때까지 10초간 대기 ( 로그인후 )

try:

WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="login_div2"]/li[3]/a')))

finally:

print("")












driver.get("http://www.t.net/math/main.jsp")


try:

# 중요 : frame 안의 frame 은 최상위부터 차례대로 하나씩 내려가야 한다.

driver.switch_to_default_content()


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'main')))

driver.switch_to_frame(driver.find_element_by_name("main"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'middleFrame')))

driver.switch_to_frame(driver.find_element_by_name("middleFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'leftFrame')))

driver.switch_to_frame(driver.find_element_by_name("leftFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="t_left_menu"]/div[1]/p/span')))

finally:

# 하나만 찾기

membername = driver.find_element_by_xpath('//*[@id="t_left_menu"]/div[1]/p/span')

print(membername.text)








# 여러개 찾기

try:

driver.switch_to_default_content()


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'main')))

driver.switch_to_frame(driver.find_element_by_name("main"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'middleFrame')))

driver.switch_to_frame(driver.find_element_by_name("middleFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, 'mainFrame')))

driver.switch_to_frame(driver.find_element_by_name("mainFrame"))


WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, '//*[@id="datatable"]/table')))

finally:

tasklist = driver.find_elements_by_css_selector('#datatable > table > tbody > tr > td > div > div')


for t in tasklist:

print(t.text)



# 동작중에 다른 웹 화면이 가려지거나 하면 오동작도 하는 것 같다.

# 가끔동작하지 않는 경우가 있는데, 왠만한 곳에는 WebDriverWait 을 추가한 후에 액세스하는 것이 좋을 듯 하다.

반응형

Selenium 을 이용한 Web 어플리케이션 테스트 자동화

Web Automation Test Tool
반응형

참조 http://tech.whatap.io/2015/10/02/automation-with-selenium/

반응형

'Web Automation Test Tool' 카테고리의 다른 글

WebCrawl.py  (0) 2018.06.01
Web Automation Test Tool Guide  (0) 2018.05.31